Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r79490 - in website/public_html/live/doc/libs: 1_49_0 1_49_0/libs 1_49_0/libs/phoenix 1_49_0/libs/phoenix/doc 1_49_0/libs/phoenix/doc/html 1_49_0/libs/phoenix/doc/html/images 1_49_0/libs/phoenix/doc/html/phoenix 1_49_0/libs/phoenix/doc/html/phoenix/examples 1_49_0/libs/phoenix/doc/html/phoenix/inside 1_49_0/libs/phoenix/doc/html/phoenix/inside/expression 1_49_0/libs/phoenix/doc/html/phoenix/modules 1_49_0/libs/phoenix/doc/html/phoenix/modules/bind 1_49_0/libs/phoenix/doc/html/phoenix/modules/core 1_49_0/libs/phoenix/doc/html/phoenix/modules/function 1_49_0/libs/phoenix/doc/html/phoenix/modules/object 1_49_0/libs/phoenix/doc/html/phoenix/modules/scope 1_49_0/libs/phoenix/doc/html/phoenix/modules/statement 1_49_0/libs/phoenix/doc/html/phoenix/modules/stl 1_49_0/libs/phoenix/doc/html/phoenix/starter_kit 1_49_0/libs/phoenix/doc/html/phoenix/what_s_new 1_50_0 1_50_0/libs 1_50_0/libs/phoenix 1_50_0/libs/phoenix/doc 1_50_0/libs/phoenix/doc/html 1_50_0/libs/phoenix/doc/html/images 1_50_0/libs/phoenix/doc/html/phoenix 1_50_0/libs/phoenix/doc/html/phoenix/examples 1_50_0/libs/phoenix/doc/html/phoenix/inside 1_50_0/libs/phoenix/doc/html/phoenix/inside/expression 1_50_0/libs/phoenix/doc/html/phoenix/modules 1_50_0/libs/phoenix/doc/html/phoenix/modules/bind 1_50_0/libs/phoenix/doc/html/phoenix/modules/core 1_50_0/libs/phoenix/doc/html/phoenix/modules/function 1_50_0/libs/phoenix/doc/html/phoenix/modules/object 1_50_0/libs/phoenix/doc/html/phoenix/modules/scope 1_50_0/libs/phoenix/doc/html/phoenix/modules/statement 1_50_0/libs/phoenix/doc/html/phoenix/modules/stl 1_50_0/libs/phoenix/doc/html/phoenix/starter_kit 1_50_0/libs/phoenix/doc/html/phoenix/what_s_new
From: dnljms_at_[hidden]
Date: 2012-07-14 02:45:09


Author: danieljames
Date: 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
New Revision: 79490
URL: http://svn.boost.org/trac/boost/changeset/79490

Log:
Website: Add phoenix documentations for 1.49 and 1.50.

They're missing from the distribution.
Added:
   website/public_html/live/doc/libs/1_49_0/
   website/public_html/live/doc/libs/1_49_0/libs/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/add2.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/add2_call.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/adder.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/alert.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/banner.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/fbox.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/funnel_in.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/funnel_out.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/home.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/important.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/lambda_cpp.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/next.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/note.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/organization.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/organization_alt.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/prev.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/simple_ast.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/smiley.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/tip.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/up.png (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/index.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/acknowledgments.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/actor.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/basics.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/examples/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/examples.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/examples/adding_an_expression.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/examples/extending_actors.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/examples/transforming_the_expression_tree.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/actions.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/actor.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/custom_terminals.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/expression/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/expression.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/expression/boilerplate_macros.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/placeholder_unification.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/rules.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/introduction.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_function_objects.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/compatibility_with_boost_bind.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core/arguments.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core/nothing.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core/references.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core/values.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/function/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/function.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object/casts.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object/construction.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object/delete.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object/new.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/operator.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/scope/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/scope.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/scope/lambda.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/scope/let.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/scope/local_variables.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/___do_while_____statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/___if_else_____statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/block_statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/for_statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/if__statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/switch__statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/throw_.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/try__catch__statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/while__statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/stl/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/stl.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/stl/container.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/organization.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/references.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/arguments.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/construct__new__delete__casts.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_statements.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/more.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/references.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/values.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/what_s_new/
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/what_s_new.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/what_s_new/phoenix_3_0.html (contents, props changed)
   website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/wrap_up.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/
   website/public_html/live/doc/libs/1_50_0/libs/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/add2.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/add2_call.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/adder.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/alert.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/banner.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/fbox.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/funnel_in.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/funnel_out.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/home.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/important.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/lambda_cpp.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/next.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/note.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/organization.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/organization_alt.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/prev.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/simple_ast.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/smiley.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/tip.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/up.png (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/index.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/acknowledgments.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/actor.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/basics.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/examples/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/examples.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/examples/adding_an_expression.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/examples/extending_actors.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/examples/transforming_the_expression_tree.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/actions.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/actor.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/custom_terminals.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/expression/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/expression.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/expression/boilerplate_macros.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/placeholder_unification.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/rules.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/introduction.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_function_objects.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/compatibility_with_boost_bind.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core/arguments.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core/nothing.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core/references.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core/values.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/function/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/function.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object/casts.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object/construction.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object/delete.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object/new.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/operator.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/scope/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/scope.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/scope/lambda.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/scope/let.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/scope/local_variables.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/___do_while_____statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/___if_else_____statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/block_statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/for_statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/if__statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/switch__statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/throw_.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/try__catch__statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/while__statement.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/stl/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/stl.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/stl/container.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/organization.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/references.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/arguments.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/construct__new__delete__casts.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_statements.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/more.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/references.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/values.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/what_s_new/
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/what_s_new.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/what_s_new/phoenix_3_0.html (contents, props changed)
   website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/wrap_up.html (contents, props changed)

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/add2.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/add2_call.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/adder.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/alert.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/banner.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/fbox.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/funnel_in.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/funnel_out.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/home.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/important.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/lambda_cpp.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/next.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/note.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/organization.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/organization_alt.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/prev.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/simple_ast.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/smiley.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/tip.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/images/up.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/index.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/index.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,321 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;1.&#160;Phoenix 3.0 - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="next" href="phoenix/what_s_new.html" title="What's New">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></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">
+<a name="phoenix"></a>Chapter&#160;1.&#160;Phoenix 3.0</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Joel</span> <span class="surname">de Guzman</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Dan</span> <span class="surname">Marsden</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Thomas</span> <span class="surname">Heller</span>
+</h3></div></div>
+<div><p class="copyright">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller</p></div>
+<div><div class="legalnotice">
+<a name="phoenix.legal"></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>
+</div></div>
+</div></div>
+<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>
+<dt><span class="section">Values</span></dt>
+<dt><span class="section">References</span></dt>
+<dt><span class="section">Arguments</span></dt>
+<dt><span class="section">Lazy Operators</span></dt>
+<dt><span class="section">Lazy Statements</span></dt>
+<dt><span class="section"><a href="phoenix/starter_kit/construct__new__delete__casts.html">Construct,
+ New, Delete, Casts</a></span></dt>
+<dt><span class="section">Lazy Functions</span></dt>
+<dt><span class="section">More</span></dt>
+</dl></dd>
+<dt><span class="section">Basics</span></dt>
+<dt><span class="section">Organization</span></dt>
+<dt><span class="section">Actor</span></dt>
+<dt><span class="section">Modules</span></dt>
+<dd><dl>
+<dt><span class="section">Core</span></dt>
+<dd><dl>
+<dt><span class="section">Values</span></dt>
+<dt><span class="section">References</span></dt>
+<dt><span class="section">Arguments</span></dt>
+<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>
+<dt><span class="section">Block Statement</span></dt>
+<dt><span class="section">if_ Statement</span></dt>
+<dt><span class="section">if_else_ Statement</span></dt>
+<dt><span class="section"><a href="phoenix/modules/statement/switch__statement.html">switch_
+ Statement</a></span></dt>
+<dt><span class="section"><a href="phoenix/modules/statement/while__statement.html">while_
+ Statement</a></span></dt>
+<dt><span class="section">do_while_ Statement</span></dt>
+<dt><span class="section">for_ Statement</span></dt>
+<dt><span class="section"><a href="phoenix/modules/statement/try__catch__statement.html">try_
+ catch_ Statement</a></span></dt>
+<dt><span class="section">throw_</span></dt>
+</dl></dd>
+<dt><span class="section">Object</span></dt>
+<dd><dl>
+<dt><span class="section">Construction</span></dt>
+<dt><span class="section">New</span></dt>
+<dt><span class="section">Delete</span></dt>
+<dt><span class="section">Casts</span></dt>
+</dl></dd>
+<dt><span class="section">Scope</span></dt>
+<dd><dl>
+<dt><span class="section">Local Variables</span></dt>
+<dt><span class="section">let</span></dt>
+<dt><span class="section">lambda</span></dt>
+</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>
+<dt><span class="section"><a href="phoenix/modules/bind/binding_member_variables.html">Binding
+ Member Variables</a></span></dt>
+<dt><span class="section"><a href="phoenix/modules/bind/compatibility_with_boost_bind.html">Compatibility
+ with Boost.Bind</a></span></dt>
+</dl></dd>
+<dt><span class="section">STL</span></dt>
+<dd><dl>
+<dt><span class="section">Container</span></dt>
+<dt><span class="section">Algorithm</span></dt>
+</dl></dd>
+</dl></dd>
+<dt><span class="section">Inside Phoenix</span></dt>
+<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"><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>
+<dt><span class="section">Placeholder Unification</span></dt>
+</dl></dd>
+<dt><span class="section">Advanced Examples</span></dt>
+<dd><dl>
+<dt><span class="section">Extending Actors</span></dt>
+<dt><span class="section">Adding an expression</span></dt>
+<dt><span class="section"><a href="phoenix/examples/transforming_the_expression_tree.html">Transforming
+ the Expression Tree</a></span></dt>
+</dl></dd>
+<dt><span class="section">Wrap Up</span></dt>
+<dt><span class="section">Acknowledgments</span></dt>
+<dt><span class="section">References</span></dt>
+</dl>
+</div>
+<h2>
+<a name="phoenix.h0"></a>
+ <span><a name="phoenix.preface"></a></span><a class="link" href="index.html#phoenix.preface">Preface</a>
+ </h2>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em>Functional programming is so called because a program consists entirely
+ of functions. The main program itself is written as a function which receives
+ the program's input as its argument and delivers the program's output as its
+ result. Typically the main function is defined in terms of other functions,
+ which in turn are defined in terms of still more functions until at the bottom
+ level the functions are language primitives.</em></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="bold"><strong>John Hughes</strong></span>-- <span class="emphasis"><em>Why Functional Programming
+ Matters</em></span>
+ </p></blockquote></div>
+<p>
+ <span class="inlinemediaobject"><img src="images/lambda_cpp.png" alt="lambda_cpp"></span>
+ </p>
+<h3>
+<a name="phoenix.h1"></a>
+ <span><a name="phoenix.description"></a></span><a class="link" href="index.html#phoenix.description">Description</a>
+ </h3>
+<p>
+ Phoenix enables Functional Programming (FP) in C++. The design and implementation
+ of Phoenix is highly influenced by FC++
+ by Yannis Smaragdakis and Brian McNamara and the BLL
+ (Boost Lambda Library) by Jaakko Jaarvi and Gary Powell. Phoenix is a blend of
+ FC++ and BLL using the implementation techniques used in the Spirit
+ inline parser.
+ </p>
+<p>
+ Phoenix is a header only library. It is extremely modular by design. One can
+ extract and use only a small subset of the full library, literally tearing the
+ library into small pieces, without fear that the pieces won't work anymore. The
+ library is organized in highly independent modules and layers.
+ </p>
+<h3>
+<a name="phoenix.h2"></a>
+ <span><a name="phoenix.how_to_use_this_manual"></a></span><a class="link" href="index.html#phoenix.how_to_use_this_manual">How
+ to use this manual</a>
+ </h3>
+<p>
+ The Phoenix library is organized in logical modules. This documentation provides
+ a user's guide and reference for each module in the library. A simple and clear
+ code example is worth a hundred lines of documentation; therefore, the user's
+ guide is presented with abundant examples annotated and explained in step-wise
+ manner. The user's guide is based on examples: lots of them.
+ </p>
+<p>
+ As much as possible, forward information (i.e. citing a specific piece of information
+ that has not yet been discussed) is avoided in the user's manual portion of each
+ module. In many cases, though, it is unavoidable that advanced but related topics
+ not be interspersed with the normal flow of discussion. To alleviate this problem,
+ topics categorized as "advanced" may be skipped at first reading.
+ </p>
+<p>
+ Some icons are used to mark certain topics indicative of their relevance. These
+ icons precede some text to indicate:
+ </p>
+<div class="table">
+<a name="phoenix.t0"></a><p class="title"><b>Table&#160;1.1.&#160;Icons</b></p>
+<div class="table-contents"><table class="table" summary="Icons">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Icon
+ </p>
+ </th>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Meaning
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="images/note.png" alt="note"></span>
+ </p>
+ </td>
+<td>
+ <p>
+ Note
+ </p>
+ </td>
+<td>
+ <p>
+ Information provided is auxiliary but will give the reader a deeper
+ insight into a specific topic. May be skipped.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="images/alert.png" alt="alert"></span>
+ </p>
+ </td>
+<td>
+ <p>
+ Alert
+ </p>
+ </td>
+<td>
+ <p>
+ Information provided is of utmost importance.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="images/tip.png" alt="tip"></span>
+ </p>
+ </td>
+<td>
+ <p>
+ Tip
+ </p>
+ </td>
+<td>
+ <p>
+ A potentially useful and helpful piece of information.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="images/note.png" alt="note"></span> Unless otherwise noted <code class="computeroutput"><span class="keyword">using</span>
+ <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">;</span></code>
+ is assumed
+ </p>
+</div>
+<h3>
+<a name="phoenix.h3"></a>
+ <span><a name="phoenix._emphasis_role__bold___emphasis____to_joel_s_dear_daughter__phoenix__emphasis___emphasis_"></a></span><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: July 14, 2012 at 06:11: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/what_s_new.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/acknowledgments.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/acknowledgments.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Acknowledgments - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="wrap_up.html" title="Wrap Up">
+<link rel="next" href="references.html" title="References">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="wrap_up.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="references.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">
+<a name="phoenix.acknowledgments"></a><a class="link" href="acknowledgments.html" title="Acknowledgments">Acknowledgments</a>
+</h2></div></div></div>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Hartmut Kaiser implemented the original lazy casts and constructors based
+ on his original work on Spirit SE "semantic expressions" (the
+ precursor to Phoenix), and guided Phoenix from the initial review of V2
+ to the release of V3.
+ </li>
+<li class="listitem">
+ Eric Niebler did a 2.0 pre-release review and wrote some range related
+ code that Phoenix stole and used in the algorithms. Additionally he played
+ the leading role in inventing the extension mechanism as well as providing
+ early prototypes and helping with Boost.Proto code. DA Proto MAN!
+ </li>
+<li class="listitem">
+ Angus Leeming implemented the container functions on Phoenix-1 which I
+ then ported to Phoenix-2.
+ </li>
+<li class="listitem">
+ Daniel Wallin helped with the scope module, local variables, let and lambda
+ and the algorithms. I frequently discuss design issues with Daniel on Yahoo
+ Messenger.
+ </li>
+<li class="listitem">
+ Jaakko Jarvi. DA Lambda MAN!
+ </li>
+<li class="listitem">
+ Dave Abrahams, for his constant presence, wherever, whenever.
+ </li>
+<li class="listitem">
+ Aleksey Gurtovoy, DA MPL MAN!
+ </li>
+<li class="listitem">
+ Doug Gregor, always a source of inspiration.
+ </li>
+<li class="listitem">
+ Dan Marsden, did almost all the work in bringing Phoenix-2 out the door.
+ </li>
+<li class="listitem">
+ Thorsten Ottosen; Eric's range_ex code began life as "container_algo"
+ in the old boost sandbox, by Thorsten in 2002-2003.
+ </li>
+<li class="listitem">
+ Jeremy Siek, even prior to Thorsten, in 2001, started the "container_algo".
+ </li>
+<li class="listitem">
+ Vladimir Prus wrote the mutating algorithms code from the Boost Wiki.
+ </li>
+<li class="listitem">
+ Daryle Walker did a 2.0 pre-release review.
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="wrap_up.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="references.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/actor.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/actor.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Actor - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="organization.html" title="Organization">
+<link rel="next" href="modules.html" title="Modules">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="organization.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="modules.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">
+<a name="phoenix.actor"></a><a class="link" href="actor.html" title="Actor">Actor</a>
+</h2></div></div></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">Actor</span></code> is the main concept
+ behind the library. Actors are function objects. An actor can accept 0 to
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code> arguments.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You can set <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>,
+ the predefined maximum arity an actor can take. By default, <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code> is set to 10.
+ </p></td></tr>
+</table></div>
+<p>
+ Phoenix supplies an <code class="computeroutput"><span class="identifier">actor</span></code> class
+ template whose specializations model the <code class="computeroutput"><span class="identifier">Actor</span></code>
+ concept. <code class="computeroutput"><span class="identifier">actor</span></code> has one template
+ parameter, <code class="computeroutput"><span class="identifier">Expr</span></code>, that supplies
+ the underlying expression to evaluate.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">actor</span>
+<span class="special">{</span>
+ <span class="identifier">return_type</span>
+ <span class="keyword">operator</span><span class="special">()()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">&gt;</span>
+ <span class="identifier">return_type</span>
+ <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T0</span><span class="special">&amp;</span> <span class="identifier">_0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">&gt;</span>
+ <span class="identifier">return_type</span>
+ <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T0</span><span class="special">&amp;</span> <span class="identifier">_0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">&amp;</span> <span class="identifier">_1</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">//...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The actor class accepts the arguments through a set of function call operators
+ for 0 to <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>
+ arities (Don't worry about the details, for now. Note, for example, that we
+ skimp over the details regarding <code class="computeroutput"><span class="identifier">return_type</span></code>).
+ The arguments are passed through to the evaluation mechanism. For more information
+ see <a class="link" href="inside/actor.html" title="Actors in Detail">Inside Actors</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="organization.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="modules.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/basics.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/basics.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,288 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Basics - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="starter_kit/more.html" title="More">
+<link rel="next" href="organization.html" title="Organization">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="starter_kit/more.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="organization.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">
+<a name="phoenix.basics"></a><a class="link" href="basics.html" title="Basics">Basics</a>
+</h2></div></div></div>
+<p>
+ Almost everything is a function in the Phoenix library that can be evaluated
+ as <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">a1</span><span class="special">,</span> <span class="identifier">a2</span><span class="special">,</span> <span class="special">...,</span> a/n/<span class="special">)</span></code>, where <span class="emphasis"><em>n</em></span> is the function's
+ arity, or number of arguments that the function expects. Operators are also
+ functions. For example, <code class="computeroutput"><span class="identifier">a</span> <span class="special">+</span> <span class="identifier">b</span></code> is just
+ a function with arity == 2 (or binary). <code class="computeroutput"><span class="identifier">a</span>
+ <span class="special">+</span> <span class="identifier">b</span></code>
+ is the same as <code class="computeroutput"><span class="identifier">add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span></code>, <code class="computeroutput"><span class="identifier">a</span>
+ <span class="special">+</span> <span class="identifier">b</span> <span class="special">+</span> <span class="identifier">c</span></code> is the
+ same as <code class="computeroutput"><span class="identifier">add</span><span class="special">(</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">),</span>
+ <span class="identifier">c</span><span class="special">)</span></code>.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Amusingly, functions may even return functions. We shall see what this means
+ in a short while.
+ </p></td></tr>
+</table></div>
+<h4>
+<a name="phoenix.basics.h0"></a>
+ <span><a name="phoenix.basics.partial_function_application"></a></span><a class="link" href="basics.html#phoenix.basics.partial_function_application">Partial
+ Function Application</a>
+ </h4>
+<p>
+ Think of a function as a black box. You pass arguments and it returns something
+ back. The figure below depicts the typical scenario.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../images/fbox.png" alt="fbox"></span>
+ </p>
+<p>
+ A fully evaluated function is one in which all the arguments are given. All
+ functions in plain C++ are fully evaluated. When you call the <code class="computeroutput"><span class="identifier">sin</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> function, you have to pass a number x. The
+ function will return a result in return: the sin of x. When you call the <code class="computeroutput"><span class="identifier">add</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">)</span></code>
+ function, you have to pass two numbers x and y. The function will return the
+ sum of the two numbers. The figure below is a fully evaluated <code class="computeroutput"><span class="identifier">add</span></code> function.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../images/adder.png" alt="adder"></span>
+ </p>
+<p>
+ A partially applied function, on the other hand, is one in which not all the
+ arguments are supplied. If we are able to partially apply the function <code class="computeroutput"><span class="identifier">add</span></code> above, we may pass only the first argument.
+ In doing so, the function does not have all the required information it needs
+ to perform its task to compute and return a result. What it returns instead
+ is another function, a lambda function. Unlike the original <code class="computeroutput"><span class="identifier">add</span></code>
+ function which has an arity of 2, the resulting lambda function has an arity
+ of 1. Why? because we already supplied part of the input: <code class="computeroutput"><span class="number">2</span></code>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../images/add2.png" alt="add2"></span>
+ </p>
+<p>
+ Now, when we shove in a number into our lambda function, it will return 2 plus
+ whatever we pass in. The lambda function essentially remembers 1) the original
+ function, <code class="computeroutput"><span class="identifier">add</span></code>, and 2) the partial
+ input, 2. The figure below illustrates a case where we pass 3 to our lambda
+ function, which then returns 5:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../images/add2_call.png" alt="add2_call"></span>
+ </p>
+<p>
+ Obviously, partially applying the <code class="computeroutput"><span class="identifier">add</span></code>
+ function, as we see above, cannot be done directly in C++ where we are expected
+ to supply all the arguments that a function expects. That's where the Phoenix
+ library comes in. The library provides the facilities to do partial function
+ application. And even more, with Phoenix, these resulting functions won't be
+ black boxes anymore.
+ </p>
+<h4>
+<a name="phoenix.basics.h1"></a>
+ <span><a name="phoenix.basics.stl_and_higher_order_functions"></a></span><a class="link" href="basics.html#phoenix.basics.stl_and_higher_order_functions">STL
+ and higher order functions</a>
+ </h4>
+<p>
+ So, what's all the fuss? What makes partial function application so useful?
+ Recall our original example in the <a class="link" href="starter_kit/lazy_operators.html" title="Lazy Operators">previous
+ section</a>:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)</span>
+</pre>
+<p>
+ The expression <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">%</span>
+ <span class="number">2</span> <span class="special">==</span> <span class="number">1</span></code> evaluates to a lambda function. <code class="computeroutput"><span class="identifier">arg1</span></code> is a placeholder for an argument to
+ be supplied later. Hence, since there's only one unsupplied argument, the lambda
+ function has an arity 1. It just so happens that <code class="computeroutput"><span class="identifier">find_if</span></code>
+ supplies the unsupplied argument as it loops from <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span></code>
+ to <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span></code>.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Higher order functions are functions which can take other functions as arguments,
+ and may also return functions as results. Higher order functions are functions
+ that are treated like any other objects and can be used as arguments and
+ return values from functions.
+ </p></td></tr>
+</table></div>
+<h4>
+<a name="phoenix.basics.h2"></a>
+ <span><a name="phoenix.basics.lazy_evaluation"></a></span><a class="link" href="basics.html#phoenix.basics.lazy_evaluation">Lazy
+ Evaluation</a>
+ </h4>
+<p>
+ In Phoenix, to put it more accurately, function evaluation has two stages:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Partial application
+ </li>
+<li class="listitem">
+ Final evaluation
+ </li>
+</ol></div>
+<p>
+ The first stage is handled by a set of generator functions. These are your
+ front ends (in the client's perspective). These generators create (through
+ partial function application), higher order functions that can be passed on
+ just like any other function pointer or function object. The second stage,
+ the actual function call, can be invoked or executed anytime in the future,
+ or not at all; hence <span class="emphasis"><em>"lazy"</em></span>.
+ </p>
+<p>
+ If we look more closely, the first step involves partial function application:
+ </p>
+<pre class="programlisting"><span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span>
+</pre>
+<p>
+ The second step is the actual function invocation (done inside the <code class="computeroutput"><span class="identifier">find_if</span></code> function. These are the back-ends
+ (often, the final invocation is never actually seen by the client). In our
+ example, the <code class="computeroutput"><span class="identifier">find_if</span></code>, if we
+ take a look inside, we'll see something like:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">InputIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Predicate</span><span class="special">&gt;</span>
+<span class="identifier">InputIterator</span>
+<span class="identifier">find_if</span><span class="special">(</span><span class="identifier">InputIterator</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">InputIterator</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">Predicate</span> <span class="identifier">pred</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">while</span> <span class="special">(</span><span class="identifier">first</span> <span class="special">!=</span> <span class="identifier">last</span> <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">pred</span><span class="special">(*</span><span class="identifier">first</span><span class="special">))</span> <span class="comment">// &lt;--- The lambda function is called here</span>
+ <span class="special">++</span><span class="identifier">first</span><span class="special">;</span> <span class="comment">// passing in *first</span>
+ <span class="keyword">return</span> <span class="identifier">first</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Again, typically, we, as clients, see only the first step. However, in this
+ document and in the examples and tests provided, don't be surprised to see
+ the first and second steps juxtaposed in order to illustrate the complete semantics
+ of Phoenix expressions. Examples:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span>
+<span class="keyword">int</span> <span class="identifier">y</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// prints 1 or true</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)(</span><span class="identifier">y</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// prints 0 or false</span>
+</pre>
+<h4>
+<a name="phoenix.basics.h3"></a>
+ <span><a name="phoenix.basics.forwarding_function_problem"></a></span><a class="link" href="basics.html#phoenix.basics.forwarding_function_problem">Forwarding
+ Function Problem</a>
+ </h4>
+<p>
+ Usually, we, as clients, write the call-back functions while libraries (such
+ as STL) provide the callee (e.g. <code class="computeroutput"><span class="identifier">find_if</span></code>).
+ In case the role is reversed, e.g. if you have to write an STL algorithm that
+ takes in a predicate, or develop a GUI library that accepts event handlers,
+ you have to be aware of a little known problem in C++ called the "<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">Forwarding
+ Function Problem</a>".
+ </p>
+<p>
+ Look again at the code above:
+ </p>
+<pre class="programlisting"><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">x</span><span class="special">)</span>
+</pre>
+<p>
+ Notice that, in the second-stage (the final evaluation), we used a variable
+ <code class="computeroutput"><span class="identifier">x</span></code>.
+ </p>
+<p>
+ In Phoenix we emulated perfect forwarding through preprocessor macros generating
+ code to allow const and non-const references.
+ </p>
+<p>
+ We generate these second-stage overloads for Phoenix expression up to <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_PERFECT_FORWARD_LIMIT</span></code>
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You can set <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_PERFECT_FORWARD_LIMIT</span></code>,
+ the predefined maximum perfect forward arguments an actor can take. By default,
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_PERFECT_FORWARDLIMIT</span></code>
+ is set to 3.
+ </p></td></tr>
+</table></div>
+<h4>
+<a name="phoenix.basics.h4"></a>
+ <span><a name="phoenix.basics.polymorphic_functions"></a></span><a class="link" href="basics.html#phoenix.basics.polymorphic_functions">Polymorphic
+ Functions</a>
+ </h4>
+<p>
+ Unless otherwise noted, Phoenix generated functions are fully polymorphic.
+ For instance, the <code class="computeroutput"><span class="identifier">add</span></code> example
+ above can apply to integers, floating points, user defined complex numbers
+ or even strings. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">h</span><span class="special">(</span><span class="string">"Hello"</span><span class="special">);</span>
+<span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">w</span> <span class="special">=</span> <span class="string">" World"</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">r</span> <span class="special">=</span> <span class="identifier">add</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">h</span><span class="special">,</span> <span class="identifier">w</span><span class="special">);</span>
+</pre>
+<p>
+ evaluates to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">"Hello
+ World"</span><span class="special">)</span></code>. The observant
+ reader might notice that this function call in fact takes in heterogeneous
+ arguments where <code class="computeroutput"><span class="identifier">arg1</span></code> is of
+ type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code> and <code class="computeroutput"><span class="identifier">arg2</span></code>
+ is of type <code class="computeroutput"><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span></code>. <code class="computeroutput"><span class="identifier">add</span></code>
+ still works because the C++ standard library allows the expression <code class="computeroutput"><span class="identifier">a</span> <span class="special">+</span> <span class="identifier">b</span></code>
+ where <code class="computeroutput"><span class="identifier">a</span></code> is a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code>
+ and <code class="computeroutput"><span class="identifier">b</span></code> is a <code class="computeroutput"><span class="keyword">char</span>
+ <span class="keyword">const</span><span class="special">*</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="starter_kit/more.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="organization.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/examples.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/examples.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Advanced Examples - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="inside/placeholder_unification.html" title="Placeholder Unification">
+<link rel="next" href="examples/extending_actors.html" title="Extending Actors">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="inside/placeholder_unification.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="examples/extending_actors.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">
+<a name="phoenix.examples"></a><a class="link" href="examples.html" title="Advanced Examples">Advanced Examples</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Extending Actors</span></dt>
+<dt><span class="section">Adding an expression</span></dt>
+<dt><span class="section"><a href="examples/transforming_the_expression_tree.html">Transforming
+ the Expression Tree</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inside/placeholder_unification.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="examples/extending_actors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/examples/adding_an_expression.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/examples/adding_an_expression.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,173 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Adding an expression - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../examples.html" title="Advanced Examples">
+<link rel="prev" href="extending_actors.html" title="Extending Actors">
+<link rel="next" href="transforming_the_expression_tree.html" title="Transforming the Expression Tree">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="extending_actors.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.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="transforming_the_expression_tree.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.examples.adding_an_expression"></a><a class="link" href="adding_an_expression.html" title="Adding an expression">Adding an expression</a>
+</h3></div></div></div>
+<p>
+ This is not a toy example. This is actually part of the library. Remember
+ the <a class="link" href="../modules/statement/while__statement.html" title="while_ Statement"><code class="computeroutput"><span class="keyword">while</span></code></a> lazy statement? Putting together
+ everything we've learned so far, we eill present it here in its entirety
+ (verbatim):
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION</span><span class="special">(</span>
+ <span class="special">(</span><span class="identifier">boost</span><span class="special">)(</span><span class="identifier">phoenix</span><span class="special">)(</span><span class="identifier">while_</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Cond</span>
+ <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Do</span>
+<span class="special">)</span>
+
+<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">phoenix</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">while_eval</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Cond</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Do</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">&gt;</span>
+ <span class="identifier">result_type</span>
+ <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Cond</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">cond</span><span class="special">,</span> <span class="identifier">Do</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">do_</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">&amp;</span> <span class="identifier">ctx</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">while</span><span class="special">(</span><span class="identifier">eval</span><span class="special">(</span><span class="identifier">cond</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="identifier">eval</span><span class="special">(</span><span class="identifier">do_</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Dummy</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">default_actions</span><span class="special">::</span><span class="identifier">when</span><span class="special">&lt;</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">while_</span><span class="special">,</span> <span class="identifier">Dummy</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">call</span><span class="special">&lt;</span><span class="identifier">while_eval</span><span class="special">,</span> <span class="identifier">Dummy</span><span class="special">&gt;</span>
+ <span class="special">{};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Cond</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">while_gen</span>
+ <span class="special">{</span>
+ <span class="identifier">while_gen</span><span class="special">(</span><span class="identifier">Cond</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">cond</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">cond</span><span class="special">(</span><span class="identifier">cond</span><span class="special">)</span> <span class="special">{}</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Do</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span>
+ <span class="keyword">operator</span><span class="special">[](</span><span class="identifier">Do</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">do_</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">make</span><span class="special">(</span><span class="identifier">cond</span><span class="special">,</span> <span class="identifier">do_</span><span class="special">);</span>
+ <span class="special">}</span>
+
+ <span class="identifier">Cond</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">cond</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Cond</span><span class="special">&gt;</span>
+ <span class="identifier">while_gen</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">&gt;</span> <span class="keyword">const</span>
+ <span class="identifier">while_</span><span class="special">(</span><span class="identifier">Cond</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">cond</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">while_gen</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">&gt;(</span><span class="identifier">cond</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">while_eval</span></code> is an example
+ of how to evaluate an expression. It gets called in the <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="keyword">while</span></code> action.
+ <code class="computeroutput"><span class="identifier">while_gen</span></code> and <code class="computeroutput"><span class="identifier">while_</span></code> are the expression template front
+ ends. Let's break this apart to undestand what's happening. Let's start at
+ the bottom. It's easier that way.
+ </p>
+<p>
+ When you write:
+ </p>
+<pre class="programlisting"><span class="identifier">while_</span><span class="special">(</span><span class="identifier">cond</span><span class="special">)</span>
+</pre>
+<p>
+ we generate an instance of <code class="computeroutput"><span class="identifier">while_gen</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">&gt;</span></code>, where <code class="computeroutput"><span class="identifier">Cond</span></code>
+ is the type of <code class="computeroutput"><span class="identifier">cond</span></code>. <code class="computeroutput"><span class="identifier">cond</span></code> can be an arbitrarily complex actor
+ expression. The <code class="computeroutput"><span class="identifier">while_gen</span></code>
+ template class has an <code class="computeroutput"><span class="keyword">operator</span><span class="special">[]</span></code> accepting another expression. If we write:
+ </p>
+<pre class="programlisting"><span class="identifier">while_</span><span class="special">(</span><span class="identifier">cond</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">do_</span>
+<span class="special">]</span>
+</pre>
+<p>
+ it will generate a proper composite with the type:
+ </p>
+<pre class="programlisting"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">type</span>
+</pre>
+<p>
+ where <code class="computeroutput"><span class="identifier">Cond</span></code> is the type of
+ <code class="computeroutput"><span class="identifier">cond</span></code> and <code class="computeroutput"><span class="identifier">Do</span></code>
+ is the type of <code class="computeroutput"><span class="identifier">do_</span></code>. Notice
+ how we are using Phoenix's <a class="link" href="../inside/expression.html" title="Phoenix Expressions">Expression</a>
+ mechanism here
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Do</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span>
+<span class="keyword">operator</span><span class="special">[](</span><span class="identifier">Do</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">do_</span><span class="special">)</span> <span class="keyword">const</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">make</span><span class="special">(</span><span class="identifier">cond</span><span class="special">,</span> <span class="identifier">do_</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Finally, the <code class="computeroutput"><span class="identifier">while_eval</span></code> does
+ its thing:
+ </p>
+<pre class="programlisting"><span class="keyword">while</span><span class="special">(</span><span class="identifier">eval</span><span class="special">(</span><span class="identifier">cond</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">))</span>
+<span class="special">{</span>
+ <span class="identifier">eval</span><span class="special">(</span><span class="identifier">do_</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">cond</span></code> and <code class="computeroutput"><span class="identifier">do_</span></code>,
+ at this point, are instances of <a class="link" href="../inside/actor.html" title="Actors in Detail">Actor</a>.
+ <code class="computeroutput"><span class="identifier">cond</span></code> and <code class="computeroutput"><span class="identifier">do_</span></code>
+ are the <a class="link" href="../inside/actor.html" title="Actors in Detail">Actors</a> passed as parameters
+ by <code class="computeroutput"><span class="identifier">call</span></code>, ctx is the <a class="link" href="../inside/actor.html" title="Actors in Detail">Context</a>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="extending_actors.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.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="transforming_the_expression_tree.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/examples/extending_actors.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/examples/extending_actors.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,335 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Extending Actors - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../examples.html" title="Advanced Examples">
+<link rel="prev" href="../examples.html" title="Advanced Examples">
+<link rel="next" href="adding_an_expression.html" title="Adding an expression">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../examples.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.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="adding_an_expression.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.examples.extending_actors"></a><a class="link" href="extending_actors.html" title="Extending Actors">Extending Actors</a>
+</h3></div></div></div>
+<p>
+ <a class="link" href="../inside/actor.html" title="Actors in Detail">Actors</a> are one of the main parts
+ of the library, and one of the many customization points. The default actor
+ implementation provides several operator() overloads which deal with the
+ evaluation of expressions.
+ </p>
+<p>
+ For some use cases this might not be enough. For convenience it is thinkable
+ to provide custom member functions which generate new expressions. An example
+ is the <a class="link" href="../modules/statement/___if_else_____statement.html" title="if_else_ Statement">if_else_
+Statement</a>
+ which provides an additional else member for generating a lazy if-else expression.
+ With this the actual Phoenix expression becomes more expressive.
+ </p>
+<p>
+ Another scenario is to give actors the semantics of a certain well known
+ interface or concept. This tutorial like section will provide information
+ on how to implement a custom actor which is usable as if it were a STL Container.
+ </p>
+<h5>
+<a name="phoenix.examples.extending_actors.h0"></a>
+ <span><a name="phoenix.examples.extending_actors.requirements"></a></span><a class="link" href="extending_actors.html#phoenix.examples.extending_actors.requirements">Requirements</a>
+ </h5>
+<p>
+ Let's repeat what we want to have:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns an iterator pointing to the first element in the container.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns an iterator pointing one past the last element in the container.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the size of the container, that is, its number of elements.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">max_size</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the largest size that this container can ever have.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">empty</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to a.size() == 0. (But possibly faster.)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">swap</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to swap(a,b)
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Additionally, we want all the operator() overloads of the regular actor.
+ </p>
+<h5>
+<a name="phoenix.examples.extending_actors.h1"></a>
+ <span><a name="phoenix.examples.extending_actors.defining_the_actor"></a></span><a class="link" href="extending_actors.html#phoenix.examples.extending_actors.defining_the_actor">Defining the
+ actor</a>
+ </h5>
+<p>
+ The first version of our <code class="computeroutput"><span class="identifier">container_actor</span></code>
+ interface will show the general principle. This will be continually extended.
+ For the sake of simplicity, every member function generator will return
+ <a class="link" href="../modules/core/nothing.html" title="Nothing"><code class="computeroutput"><span class="identifier">nothing</span></code></a>
+ at first.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">container_actor</span>
+ <span class="special">:</span> <span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span> <span class="identifier">base_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">container_actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span> <span class="identifier">that_type</span><span class="special">;</span>
+
+ <span class="identifier">container_actor</span><span class="special">(</span> <span class="identifier">base_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">base</span> <span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">base_type</span><span class="special">(</span> <span class="identifier">base</span> <span class="special">)</span> <span class="special">{}</span>
+
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">nothing</span><span class="special">;</span> <span class="special">}</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">nothing</span><span class="special">;</span> <span class="special">}</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">nothing</span><span class="special">;</span> <span class="special">}</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">max_size</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">nothing</span><span class="special">;</span> <span class="special">}</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">empty</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">nothing</span><span class="special">;</span> <span class="special">}</span>
+
+ <span class="comment">// Note that swap is the only function needing another container.</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&gt;</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">swap</span><span class="special">(</span> <span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Container</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="special">)</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">nothing</span><span class="special">;</span> <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<h5>
+<a name="phoenix.examples.extending_actors.h2"></a>
+ <span><a name="phoenix.examples.extending_actors.using_the_actor"></a></span><a class="link" href="extending_actors.html#phoenix.examples.extending_actors.using_the_actor">Using
+ the actor</a>
+ </h5>
+<p>
+ Although the member functions do nothing right now, we want to test if we
+ can use our new actor.
+ </p>
+<p>
+ First, lets create a generator which wraps the <code class="computeroutput"><span class="identifier">container_actor</span></code>
+ around any other expression:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="identifier">container_actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span> <span class="keyword">const</span>
+<span class="identifier">container</span><span class="special">(</span> <span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">expr</span> <span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">expr</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Now let's test this:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">1</span><span class="special">);</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">2</span><span class="special">);</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">3</span><span class="special">);</span>
+
+<span class="special">(</span><span class="identifier">container</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">).</span><span class="identifier">size</span><span class="special">())(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ Granted, this is not really elegant and not very practical (we could have
+ just used phoenix::begin(v) from the <a class="link" href="../modules/stl/algorithm.html" title="Algorithm">Phoenix
+ algorithm module</a>, but we can do better.
+ </p>
+<p>
+ Let's have an <a class="link" href="../modules/core/arguments.html" title="Arguments">argument placeholder</a>
+ which is usable as if it was a STL container:
+ </p>
+<pre class="programlisting"><span class="identifier">container_actor</span><span class="special">&lt;</span><span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="identifier">con1</span><span class="special">;</span>
+<span class="comment">// and so on ...</span>
+</pre>
+<p>
+ The above example can be rewritten as:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">1</span><span class="special">);</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">2</span><span class="special">);</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">3</span><span class="special">);</span>
+
+<span class="special">(</span><span class="identifier">con1</span><span class="special">.</span><span class="identifier">size</span><span class="special">())(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ Wow, that was easy!
+ </p>
+<h5>
+<a name="phoenix.examples.extending_actors.h3"></a>
+ <span><a name="phoenix.examples.extending_actors.adding_life_to_the_actor"></a></span><a class="link" href="extending_actors.html#phoenix.examples.extending_actors.adding_life_to_the_actor">Adding
+ life to the actor</a>
+ </h5>
+<p>
+ This one will be even easier!
+ </p>
+<p>
+ First, we define a <a class="link" href="../modules/function.html" title="Function">lazy function</a>
+ which evaluates the expression we want to implement. Following is the implementation
+ of the size function:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">size_impl</span>
+<span class="special">{</span>
+ <span class="comment">// result_of protocol:</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">This</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Container</span><span class="special">)&gt;</span>
+ <span class="special">{</span>
+ <span class="comment">// Note, remove reference here, because Container can be anything</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">Container</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">container_type</span><span class="special">;</span>
+
+ <span class="comment">// The result will be size_type</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">container_type</span><span class="special">::</span><span class="identifier">size_type</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">size_impl</span><span class="special">(</span><span class="identifier">Container</span> <span class="keyword">const</span><span class="special">&amp;)&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Container</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">container</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">container</span><span class="special">.</span><span class="identifier">size</span><span class="special">();</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ Good, this was the first part. The second part will be to implement the size
+ member function of <code class="computeroutput"><span class="identifier">container_actor</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">container_actor</span>
+ <span class="special">:</span> <span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span> <span class="identifier">base_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">container_actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span> <span class="identifier">that_type</span><span class="special">;</span>
+
+ <span class="identifier">container_actor</span><span class="special">(</span> <span class="identifier">base_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">base</span> <span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">base_type</span><span class="special">(</span> <span class="identifier">base</span> <span class="special">)</span> <span class="special">{}</span>
+
+ <span class="keyword">typename</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">size_impl</span><span class="special">,</span> <span class="identifier">that_type</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span>
+ <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">size_impl</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">size_impl</span><span class="special">();</span>
+ <span class="keyword">return</span> <span class="identifier">f</span><span class="special">(*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="special">}</span>
+
+ <span class="comment">// the rest ...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ It is left as an exercise to the user to implement the missing parts by reusing
+ functions from the <a class="link" href="../modules/stl/algorithm.html" title="Algorithm">Phoenix
+ Algorithm Module</a> (the impatient take a look here: container_actor.cpp).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../examples.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.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="adding_an_expression.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/examples/transforming_the_expression_tree.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/examples/transforming_the_expression_tree.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,213 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Transforming the Expression Tree - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../examples.html" title="Advanced Examples">
+<link rel="prev" href="adding_an_expression.html" title="Adding an expression">
+<link rel="next" href="../wrap_up.html" title="Wrap Up">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="adding_an_expression.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.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="../wrap_up.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.examples.transforming_the_expression_tree"></a><a class="link" href="transforming_the_expression_tree.html" title="Transforming the Expression Tree">Transforming
+ the Expression Tree</a>
+</h3></div></div></div>
+<p>
+ This example will show how to write <a class="link" href="../inside/actions.html" title="More on Actions">Actions</a>
+ that transform the Phoenix AST.
+ </p>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ "<span class="emphasis"><em>Lisp macros transform the program structure itself, with
+ the full language available to express such transformations.</em></span>"
+ </p>
+<p>
+ Wikipedia
+ </p>
+</blockquote></div>
+<p>
+ What we want to do is to invert some arithmetic operators, i.e. plus will
+ be transformed to minus, minus to plus, multiplication to division and division
+ to multiplication.
+ </p>
+<p>
+ Let's start with defining our default action:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">invert_actions</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Rule</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">when</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span> <span class="comment">// the default is proto::_</span>
+ <span class="special">{};</span>
+<span class="special">};</span>
+</pre>
+<p>
+ By default, we don't want to do anything, well, not exactly nothing, but
+ just return the expression. This is done by proto::_
+ which, used as a transform, just passes the current expression along. Making
+ this action an identity transform.
+ </p>
+<p>
+ So, after the basics are set up, we can start by writing the transformations
+ we want to have on our tree:
+ </p>
+<pre class="programlisting"><span class="comment">// Transform plus to minus</span>
+<span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">invert_actions</span><span class="special">::</span><span class="identifier">when</span><span class="special">&lt;</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&gt;</span>
+ <span class="special">:</span> proto::call<span class="special">&lt;</span>
+ proto::functional::make_expr<span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">minus</span><span class="special">&gt;(</span>
+ <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_left</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_right</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">)</span>
+ <span class="special">&gt;</span>
+<span class="special">{};</span>
+</pre>
+<p>
+ Wow, this looks complicated! Granted you need to know a little bit about
+ Boost.Proto
+ (For a good introduction read through the <a href="http://cpp-next.com/archive/2010/08/expressive-c-introduction/" target="_top">Expressive
+ C++</a> series).
+ </p>
+<p>
+ What is done is the following:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ The left expression is passed to evaluator (with the current context,
+ that contains our invert_actions)
+ </li>
+<li class="listitem">
+ The right expression is passed to evaluator (with the current context,
+ that contains our invert_actions)
+ </li>
+<li class="listitem">
+ The result of these two <a href="/doc/libs/release/doc/html/Transform.html" target="_top">Proto
+ Transforms</a> is passed to proto::functional::make_expr which returns the
+ freshly created expression
+ </li>
+</ul></div>
+<p>
+ After you know what is going on, maybe the rest doesn't look so scary anymore:
+ </p>
+<pre class="programlisting"><span class="comment">// Transform minus to plus</span>
+<span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">invert_actions</span><span class="special">::</span><span class="identifier">when</span><span class="special">&lt;</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">minus</span><span class="special">&gt;</span>
+ <span class="special">:</span> proto::call<span class="special">&lt;</span>
+ proto::functional::make_expr<span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&gt;(</span>
+ <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_left</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_right</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">)</span>
+ <span class="special">&gt;</span>
+<span class="special">{};</span>
+
+<span class="comment">// Transform multiplies to divides</span>
+<span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">invert_actions</span><span class="special">::</span><span class="identifier">when</span><span class="special">&lt;</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">multiplies</span><span class="special">&gt;</span>
+ <span class="special">:</span> proto::call<span class="special">&lt;</span>
+ proto::functional::make_expr<span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">divides</span><span class="special">&gt;(</span>
+ <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_left</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_right</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">)</span>
+ <span class="special">&gt;</span>
+<span class="special">{};</span>
+
+<span class="comment">// Transform divides to multiplies</span>
+<span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">invert_actions</span><span class="special">::</span><span class="identifier">when</span><span class="special">&lt;</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">divides</span><span class="special">&gt;</span>
+ <span class="special">:</span> proto::call<span class="special">&lt;</span>
+ proto::functional::make_expr<span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">multiplies</span><span class="special">&gt;(</span>
+ <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_left</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_right</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">)</span>
+ <span class="special">&gt;</span>
+<span class="special">{};</span>
+</pre>
+<p>
+ That's it! Now that we have our actions defined, we want to evaluate some
+ of our expressions with them:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="comment">// Calculate the result type: our transformed AST</span>
+<span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">&lt;</span>
+ <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span>
+ <span class="identifier">Expr</span> <span class="keyword">const</span><span class="special">&amp;</span>
+ <span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">context</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">invert_actions</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="special">)</span>
+<span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">expr</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span>
+ <span class="comment">// Evaluate it with our actions</span>
+ <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">eval</span><span class="special">(</span>
+ <span class="identifier">expr</span>
+ <span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">context</span><span class="special">(</span>
+ <span class="keyword">int</span><span class="special">()</span>
+ <span class="special">,</span> <span class="identifier">invert_actions</span><span class="special">()</span>
+ <span class="special">)</span>
+ <span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Run some tests to see if it is working:
+ </p>
+<pre class="programlisting"><span class="identifier">invert</span><span class="special">(</span><span class="identifier">_1</span><span class="special">);</span> <span class="comment">// --&gt; _1</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">+</span> <span class="identifier">_2</span><span class="special">);</span> <span class="comment">// --&gt; _1 - _2</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">+</span> <span class="identifier">_2</span> <span class="special">-</span> <span class="identifier">_3</span><span class="special">);</span> <span class="comment">// --&gt; _1 - _2 + _3</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">*</span> <span class="identifier">_2</span><span class="special">);</span> <span class="comment">// --&gt; _1 / _2</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">*</span> <span class="identifier">_2</span> <span class="special">/</span> <span class="identifier">_3</span><span class="special">);</span> <span class="comment">// --&gt; _1 / _2 * _3</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">*</span> <span class="identifier">_2</span> <span class="special">+</span> <span class="identifier">_3</span><span class="special">);</span> <span class="comment">// --&gt; _1 / _2 - _3</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">*</span> <span class="identifier">_2</span> <span class="special">-</span> <span class="identifier">_3</span><span class="special">);</span> <span class="comment">// --&gt; _1 / _2 + _2</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">if_</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">*</span> <span class="identifier">_4</span><span class="special">)[</span><span class="identifier">_2</span> <span class="special">-</span> <span class="identifier">_3</span><span class="special">]);</span> <span class="comment">// --&gt; if_(_1 / _4)[_2 + _3]</span>
+<span class="identifier">_1</span> <span class="special">*</span> <span class="identifier">invert</span><span class="special">(</span><span class="identifier">_2</span> <span class="special">-</span> <span class="identifier">_3</span><span class="special">));</span> <span class="comment">// --&gt; _1 * _2 + _3</span>
+</pre>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/note.png" alt="note"></span> The complete example can be found here: example/invert.cpp
+ </p>
+<p>
+ <span class="emphasis"><em>Pretty simple ...</em></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="adding_an_expression.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.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="../wrap_up.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Inside Phoenix - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="modules/stl/algorithm.html" title="Algorithm">
+<link rel="next" href="inside/actor.html" title="Actors in Detail">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="modules/stl/algorithm.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="inside/actor.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">
+<a name="phoenix.inside"></a><a class="link" href="inside.html" title="Inside Phoenix">Inside Phoenix</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Actors in Detail</span></dt>
+<dt><span class="section">Phoenix Expressions</span></dt>
+<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>
+<dt><span class="section">Placeholder Unification</span></dt>
+</dl></div>
+<p>
+ This chapter explains in more detail how the library operates. The information
+ henceforth should not be necessary to those who are interested in just using
+ the library. However, a microscopic view might prove to be beneficial to advanced
+ programmers who wish to extend the library.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="modules/stl/algorithm.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="inside/actor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/actions.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/actions.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,224 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>More on Actions - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../inside.html" title="Inside Phoenix">
+<link rel="prev" href="expression/boilerplate_macros.html" title="Boilerplate Macros">
+<link rel="next" href="rules.html" title="Predefined Expressions and Rules">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<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">
+<a name="phoenix.inside.actions"></a><a class="link" href="actions.html" title="More on Actions">More on Actions</a>
+</h3></div></div></div>
+<p>
+ As you know from the <a class="link" href="actor.html" title="Actors in Detail">Actors in Detail</a>
+ section, Actions are what brings life to a Phoenix expression tree.
+ </p>
+<p>
+ When dealing with a Phoenix expression tree, it gets evaluated top-down.
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">_1</span> <span class="special">+</span> <span class="number">3</span> <span class="special">*</span> <span class="identifier">_2</span>
+</pre>
+<p>
+ Can be visualized as an AST in the following way:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/simple_ast.png" alt="simple_ast"></span>
+ </p>
+<p>
+ In terms of actions this means:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus</span></code> is matched
+ </li>
+<li class="listitem">
+ evaluate left:
+ <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">placeholder</span></code> is matched
+ </li></ul></div>
+ </li>
+<li class="listitem">
+ evaluate right:
+ <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">multiplies</span></code> is matched
+ <div class="itemizedlist"><ul class="itemizedlist" type="square">
+<li class="listitem">
+ evaluate left:
+ <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">value</span></code>
+ is matched
+ </li></ul></div>
+ </li>
+<li class="listitem">
+ evaluate right:
+ <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">placeholder</span></code>
+ is matched
+ </li></ul></div>
+ </li>
+</ul></div>
+ </li></ul></div>
+ </li>
+</ul></div>
+<p>
+ Every time a rule is matched, an action will be called. The action determines
+ how the Phoenix AST will be traversed.
+ </p>
+<h5>
+<a name="phoenix.inside.actions.h0"></a>
+ <span><a name="phoenix.inside.actions.writing_an_action"></a></span><a class="link" href="actions.html#phoenix.inside.actions.writing_an_action">Writing
+ an Action</a>
+ </h5>
+<p>
+ As mentioned in <a class="link" href="actor.html" title="Actors in Detail">Actors in Detail</a>
+ actions are <a href="/doc/libs/release/doc/html/PrimitiveTransform.html" target="_top">Proto
+ Primitive Transforms</a> for convenience Phoenix provides an abstraction
+ to this:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Fun</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">call</span><span class="special">;</span>
+</pre>
+<p>
+ This is similar to proto::call but does more. It calls the
+ <code class="computeroutput"><span class="identifier">Fun</span></code> function object passed
+ as template parameter with the <code class="computeroutput"><span class="identifier">Context</span></code>
+ and the children of the expression associated with the rule.
+ </p>
+<p>
+ Lets have an (simplified) example on how to write an evaluation action for
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">plus_eval</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Lhs</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">Rhs</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">rhs</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">&amp;</span> <span class="identifier">ctx</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">eval</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">eval</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">default_actions</span><span class="special">::</span><span class="identifier">when</span><span class="special">&lt;</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">call</span><span class="special">&lt;</span><span class="identifier">plus_eval</span><span class="special">&gt;</span>
+<span class="special">{};</span>
+</pre>
+<p>
+ That's it. When evaluating a <code class="computeroutput"><span class="identifier">plus</span></code>
+ expression, the <code class="computeroutput"><span class="identifier">plus_eval</span></code>
+ callable gets called with the left hand side and right hand side expression
+ and the associated Context.
+ </p>
+<p>
+ <span class="bold"><strong>But there is more:</strong></span> As Actions <span class="emphasis"><em>can</em></span>
+ be full fletched <a href="/doc/libs/release/doc/html/Transform.html" target="_top">Proto
+ Transforms</a>, you can in fact use any proto expression you can imagine
+ as the action. Phoenix predifines a set of callables and transform to deal
+ with the Context information passed along and of course every Phoenix expression
+ can be used as a Phoenix grammar or <a href="/doc/libs/release/doc/html/boost/proto/pass_through.html" target="_top">Proto
+ Pass Through Transform</a>.
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">functional</span><span class="special">::</span><span class="identifier">context</span><span class="special">(</span><span class="identifier">Env</span><span class="special">,</span> <span class="identifier">Actions</span><span class="special">)</span></code></span></dt>
+<dd><p>
+ A <a href="/doc/libs/release/doc/html/Callable.html" target="_top">Proto
+ Callable Transform</a> that creates a new context out of the <code class="computeroutput"><span class="identifier">Env</span></code> and <code class="computeroutput"><span class="identifier">Actions</span></code>
+ parameter
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">functional</span><span class="special">::</span><span class="identifier">env</span><span class="special">(</span><span class="identifier">Context</span><span class="special">)</span></code></span></dt>
+<dd><p>
+ A <a href="/doc/libs/release/doc/html/Callable.html" target="_top">Proto
+ Callable Transform</a> that returns the environment out of the
+ <code class="computeroutput"><span class="identifier">Context</span></code> parameter
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">functional</span><span class="special">::</span><span class="identifier">actions</span><span class="special">(</span><span class="identifier">Context</span><span class="special">)</span></code></span></dt>
+<dd><p>
+ A <a href="/doc/libs/release/doc/html/Callable.html" target="_top">Proto
+ Callable Transform</a> that returns the actions out of the <code class="computeroutput"><span class="identifier">Context</span></code> parameter
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">_context</span></code></span></dt>
+<dd><p>
+ A <a href="/doc/libs/release/doc/html/PrimitiveTransform.html" target="_top">Proto
+ Primitive Transform</a> that returns the current context
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">_env</span></code></span></dt>
+<dd><p>
+ A <a href="/doc/libs/release/doc/html/PrimitiveTransform.html" target="_top">Proto
+ Primitive Transform</a> that returns the current environment
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">_actions</span></code></span></dt>
+<dd><p>
+ A <a href="/doc/libs/release/doc/html/PrimitiveTransform.html" target="_top">Proto
+ Primitive Transform</a> that returns the current actions
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">context</span><span class="special">(</span><span class="identifier">env</span><span class="special">,</span> <span class="identifier">actions</span><span class="special">)</span></code></span></dt>
+<dd><p>
+ A regular function that creates a context
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">env</span><span class="special">(</span><span class="identifier">ctx</span><span class="special">)</span></code></span></dt>
+<dd><p>
+ A regular function that returns the environment from the given context
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">actions</span><span class="special">(</span><span class="identifier">ctx</span><span class="special">)</span></code></span></dt>
+<dd><p>
+ A regular function that returns the actions from the given context
+ </p></dd>
+</dl>
+</div>
+<p>
+ Phoenix is equipped with a predefined set of expressions, rules and actions
+ to make all the stuff work you learned in the <a class="link" href="../starter_kit.html" title="Starter Kit">Starter
+ Kit</a> and <a class="link" href="../modules.html" title="Modules">Modules</a> sections. See
+ the <a class="link" href="rules.html" title="Predefined Expressions and Rules">next section</a> for more details!
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="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>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/actor.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/actor.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,426 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Actors in Detail - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../inside.html" title="Inside Phoenix">
+<link rel="prev" href="../inside.html" title="Inside Phoenix">
+<link rel="next" href="expression.html" title="Phoenix Expressions">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../inside.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.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.actor"></a><a class="link" href="actor.html" title="Actors in Detail">Actors in Detail</a>
+</h3></div></div></div>
+<h5>
+<a name="phoenix.inside.actor.h0"></a>
+ <span><a name="phoenix.inside.actor.actor"></a></span><a class="link" href="actor.html#phoenix.inside.actor.actor">Actor</a>
+ </h5>
+<p>
+ The main concept is the <code class="computeroutput"><span class="identifier">Actor</span></code>.
+ An <code class="computeroutput"><span class="identifier">Actor</span></code> is a model of the
+ <a href="/doc/libs/release/libs/fusion/doc/html/fusion/functional/concepts/poly.html" target="_top">Polymorphic
+ Function Object</a> concept (that can accept 0 to N arguments (where
+ N is a predefined maximum).
+ </p>
+<p>
+ An <code class="computeroutput"><span class="identifier">Actor</span></code> contains a valid
+ Phoenix Expression, a call to one of the function call operator overloads,
+ starts the evaluation process.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You can set <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>,
+ the predefined maximum arity an actor can take. By default, <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code> is set to 10.
+ </p></td></tr>
+</table></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">actor</span></code> template class
+ models the <code class="computeroutput"><span class="identifier">Actor</span></code> concept:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">actor</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
+
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">()()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">T0</span> <span class="special">&amp;&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T0</span><span class="special">&amp;</span> <span class="identifier">_0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">T0</span> <span class="keyword">const</span> <span class="special">&amp;&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T0</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">_0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">//...</span>
+<span class="special">};</span>
+</pre>
+<div class="table">
+<a name="phoenix.inside.actor.t0"></a><p class="title"><b>Table&#160;1.9.&#160;Actor Concept Requirements</b></p>
+<div class="table-contents"><table class="table" summary="Actor Concept Requirements">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">actor</span><span class="special">(</span><span class="identifier">arg0</span><span class="special">,</span>
+ <span class="identifier">arg1</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">argN</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Function call operators to start the evaluation
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">&lt;</span><span class="identifier">Actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;(</span><span class="identifier">Arg0</span><span class="special">,</span>
+ <span class="identifier">Arg1</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">ArgN</span><span class="special">)&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Result of the evaluation
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">,</span>
+ <span class="identifier">Arg0</span><span class="special">,</span>
+ <span class="identifier">Arg1</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">ArgN</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Result of the evaluation
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="phoenix.inside.actor.h1"></a>
+ <span><a name="phoenix.inside.actor.function_call_operators"></a></span><a class="link" href="actor.html#phoenix.inside.actor.function_call_operators">Function
+ Call Operators</a>
+ </h5>
+<p>
+ There are 2*N function call operators for 0 to N arguments (N == <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>). The actor class accepts
+ the arguments and forwards the arguments to the default evaluation action.
+ </p>
+<p>
+ Additionally, there exist function call operators accepting permutations
+ of const and non-const references. These operators are created for all N
+ &lt;= <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_PERFECT_FORWARD_LIMIT</span></code>
+ (which defaults to 3).
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ <span class="bold"><strong>Forwarding Function Problem</strong></span>
+ </p>
+<p>
+ There is a known issue with current C++ called the "<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">Forwarding
+ Function Problem</a>". The problem is that given an arbitrary
+ function <code class="computeroutput"><span class="identifier">F</span></code>, using current
+ C++ language rules, one cannot create a forwarding function <code class="computeroutput"><span class="identifier">FF</span></code> that transparently assumes the arguments
+ of <code class="computeroutput"><span class="identifier">F</span></code>.
+ </p>
+</td></tr>
+</table></div>
+<h5>
+<a name="phoenix.inside.actor.h2"></a>
+ <span><a name="phoenix.inside.actor.context"></a></span><a class="link" href="actor.html#phoenix.inside.actor.context">Context</a>
+ </h5>
+<p>
+ On an actor function call, before calling the evaluation function, the actor
+ created a <span class="bold"><strong>context</strong></span>. This context consists
+ of an <code class="computeroutput"><span class="identifier">Environment</span></code> and an
+ <code class="computeroutput"><span class="identifier">Action</span></code> part. These contain
+ all information necessary to evaluate the given expression.
+ </p>
+<div class="table">
+<a name="phoenix.inside.actor.t1"></a><p class="title"><b>Table&#160;1.10.&#160;Context Concept Requirements</b></p>
+<div class="table-contents"><table class="table" summary="Context Concept Requirements">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">context</span><span class="special">&lt;</span><span class="identifier">Env</span><span class="special">,</span>
+ <span class="identifier">Actions</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Type of a Context
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">context</span><span class="special">(</span><span class="identifier">e</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A Context containing environment <code class="computeroutput"><span class="identifier">e</span></code>
+ and actions <code class="computeroutput"><span class="identifier">a</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">env</span><span class="special">&lt;</span><span class="identifier">Context</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Type of the contained Environment
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">env</span><span class="special">(</span><span class="identifier">ctx</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The environment
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actions</span><span class="special">&lt;</span><span class="identifier">Context</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Type of the contained Actions
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">actions</span><span class="special">(</span><span class="identifier">ctx</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The actions
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="phoenix.inside.actor.h3"></a>
+ <span><a name="phoenix.inside.actor.environment"></a></span><a class="link" href="actor.html#phoenix.inside.actor.environment">Environment</a>
+ </h5>
+<p>
+ The Environment is a model of <a href="/doc/libs/release/libs/fusion/doc/html/fusion/sequence/concepts/random_access_sequence.html" target="_top">Random
+ Access Sequence</a>.
+ </p>
+<p>
+ The arguments passed to the actor's function call operator are collected
+ inside the Environment:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/funnel_in.png" alt="funnel_in"></span>
+ </p>
+<p>
+ Other parts of the library (e.g. the scope module) extends the <code class="computeroutput"><span class="identifier">Environment</span></code> concept to hold other information
+ such as local variables, etc.
+ </p>
+<h5>
+<a name="phoenix.inside.actor.h4"></a>
+ <span><a name="phoenix.inside.actor.actions"></a></span><a class="link" href="actor.html#phoenix.inside.actor.actions">Actions</a>
+ </h5>
+<p>
+ Actions is the part of Phoenix which are responsible for giving the actual
+ expressions a specific behaviour. During the traversal of the Phoenix Expression
+ Tree these actions are called whenever a specified rule in the grammar matches.
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">actions</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Rule</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">when</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The nested <code class="computeroutput"><span class="identifier">when</span></code> template
+ is required to be <a href="/doc/libs/release/doc/html/PrimitiveTransform.html" target="_top">Proto
+ Primitive Transform</a>. No worries, you don't have to learn Boost.Proto
+ just yet! Phoenix provides some wrappers to let you define simple actions
+ without the need to dive deep into proto.
+ </p>
+<p>
+ Phoenix ships with a predefined <code class="computeroutput"><span class="identifier">default_actions</span></code>
+ class that evaluates the expressions with C++ semantics:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">default_actions</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Rule</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Dummy</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">when</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">_default</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">};</span>
+</pre>
+<p>
+ For more information on how to use the default_actions class and how to attach
+ custom actions to the evaluation process, see <a class="link" href="actions.html" title="More on Actions">more
+ on actions</a>.
+ </p>
+<h5>
+<a name="phoenix.inside.actor.h5"></a>
+ <span><a name="phoenix.inside.actor.evaluation"></a></span><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>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">&gt;</span>
+ <span class="emphasis"><em>unspecified</em></span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Expr</span> <span class="special">&amp;,</span> <span class="identifier">Context</span> <span class="special">&amp;);</span>
+<span class="special">};</span>
+
+<span class="identifier">evaluator</span> <span class="keyword">const</span> <span class="identifier">eval</span> <span class="special">=</span> <span class="special">{};</span>
+</pre>
+<p>
+ The evaluation of a Phoenix expression is started by a call to the function
+ call operator of <code class="computeroutput"><span class="identifier">evaluator</span></code>.
+ </p>
+<p>
+ The evaluator is called by the <code class="computeroutput"><span class="identifier">actor</span></code>
+ function operator overloads after the context is built up. For reference,
+ here is a typical <code class="computeroutput"><span class="identifier">actor</span><span class="special">::</span><span class="keyword">operator</span><span class="special">()</span></code>
+ that accepts two arguments:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">T0</span> <span class="special">&amp;,</span> <span class="identifier">T1</span> <span class="special">&amp;&gt;::</span><span class="identifier">type</span>
+<span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T0</span> <span class="special">&amp;</span><span class="identifier">t0</span><span class="special">,</span> <span class="identifier">T1</span> <span class="special">&amp;</span><span class="identifier">t1</span><span class="special">)</span> <span class="keyword">const</span>
+<span class="special">{</span>
+ <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector2</span><span class="special">&lt;</span><span class="identifier">T0</span> <span class="special">&amp;,</span> <span class="identifier">T1</span> <span class="special">&amp;&gt;</span> <span class="identifier">env</span><span class="special">(</span><span class="identifier">t0</span><span class="special">,</span> <span class="identifier">t1</span><span class="special">);</span>
+
+ <span class="keyword">return</span> <span class="identifier">eval</span><span class="special">(*</span><span class="keyword">this</span><span class="special">,</span> <span class="identifier">context</span><span class="special">(</span><span class="identifier">env</span><span class="special">,</span> <span class="identifier">default_actions</span><span class="special">()));</span>
+<span class="special">}</span>
+</pre>
+<h5>
+<a name="phoenix.inside.actor.h6"></a>
+ <span><a name="phoenix.inside.actor.result_of__actor"></a></span><a class="link" href="actor.html#phoenix.inside.actor.result_of__actor">result_of::actor</a>
+ </h5>
+<p>
+ For reasons of symmetry to the family of <code class="computeroutput"><span class="identifier">actor</span><span class="special">::</span><span class="keyword">operator</span><span class="special">()</span></code> there is a special metafunction usable
+ for actor result type calculation named <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span></code>.
+ This metafunction allows us to directly specify the types of the parameters
+ to be passed to the <code class="computeroutput"><span class="identifier">actor</span><span class="special">::</span><span class="keyword">operator</span><span class="special">()</span></code> function. Here's a typical <code class="computeroutput"><span class="identifier">actor_result</span></code> that accepts two arguments:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">result_of</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">actor</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector2</span><span class="special">&lt;</span><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">&gt;</span> <span class="identifier">env_tpe</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">context</span><span class="special">&lt;</span><span class="identifier">env_type</span><span class="special">,</span> <span class="identifier">default_actions</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">ctx_type</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">&lt;</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span><span class="special">&amp;,</span> <span class="identifier">ctx_type</span><span class="special">)&gt;::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+<span class="special">}</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../inside.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.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/custom_terminals.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/custom_terminals.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Custom Terminals - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../inside.html" title="Inside Phoenix">
+<link rel="prev" href="rules.html" title="Predefined Expressions and Rules">
+<link rel="next" href="placeholder_unification.html" title="Placeholder Unification">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="rules.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="placeholder_unification.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.custom_terminals"></a><a class="link" href="custom_terminals.html" title="Custom Terminals">Custom Terminals</a>
+</h3></div></div></div>
+<p>
+ Custom Terminals are used in Phoenix to handle special values transparently.
+ For example, as Phoenix captures everything by value, we needed to use <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span></code> to bring reference semantics
+ into Phoenix.
+ </p>
+<p>
+ Custom terminals could be any wrapper class:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">is_custom_terminal</span><span class="special">;</span>
+</pre>
+<p>
+ needs to be specialized in order for Phoenix to recognize this wrapper type.
+ <code class="computeroutput"><span class="identifier">default_action</span></code> calls <code class="computeroutput"><span class="identifier">custom_terminal</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="comment">// Call out boost::reference_wrapper for special handling</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">is_custom_terminal</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span>
+<span class="special">{};</span>
+
+<span class="comment">// Special handling for boost::reference_wrapper</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">custom_terminal</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="special">&amp;</span><span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">&gt;</span>
+ <span class="identifier">T</span> <span class="special">&amp;</span><span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">&amp;)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">r</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rules.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="placeholder_unification.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/expression.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/expression.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,288 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Phoenix Expressions - Boost 1.49.0</title>
+<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&#160;1.&#160;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/boilerplate_macros.html" title="Boilerplate Macros">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<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/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"><a href="expression/boilerplate_macros.html">Boilerplate
+ Macros</a></span></dt></dl></div>
+<p>
+ A Phoenix Expression is a model of the <a href="/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>
+ provides the function call operator which evaluates the expressions. The
+ <code class="computeroutput"><span class="identifier">actor</span></code> is the domain specific
+ wrapper around Phoenix expressions.
+ </p>
+<p>
+ By design, Phoenix Expressions do not carry any information on how they will
+ be evaluated later on. They are the data structure on which the <code class="computeroutput"><span class="identifier">Actions</span></code> will work.
+ </p>
+<p>
+ The library provides a convenience template to define expressions:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span><span class="special">&gt;</span> <span class="identifier">Actor</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">expr_ext</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">transform</span><span class="special">&lt;</span><span class="identifier">expr_ext</span><span class="special">&lt;</span><span class="identifier">Actor</span><span class="special">,</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">A0</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">A1</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">base_expr</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Actor</span><span class="special">&lt;</span><span class="identifier">base_expr</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">proto_grammar</span><span class="special">;</span>
+
+ <span class="keyword">static</span> <span class="identifier">type</span> <span class="identifier">make</span><span class="special">(</span><span class="identifier">A0</span> <span class="identifier">a0</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">expr</span> <span class="special">:</span> <span class="identifier">expr_ext</span><span class="special">&lt;</span><span class="identifier">actor</span><span class="special">,</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">A0</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">A1</span><span class="special">&gt;</span> <span class="special">{};</span>
+</pre>
+<p>
+ <span class="bold"><strong>Notation</strong></span>
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">A0</span><span class="special">...</span><span class="identifier">AN</span></code></span></dt>
+<dd><p>
+ Child node types
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">a0</span><span class="special">...</span><span class="identifier">aN</span></code></span></dt>
+<dd><p>
+ Child node objects
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">G0</span><span class="special">...</span><span class="identifier">GN</span></code></span></dt>
+<dd><p>
+ Boost.Proto
+ grammar types
+ </p></dd>
+</dl>
+</div>
+<p>
+ <span class="bold"><strong>Expression Semantics</strong></span>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expr</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">...</span><span class="identifier">AN</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of Expression having tag <code class="computeroutput"><span class="identifier">Tag</span></code>
+ and <code class="computeroutput"><span class="identifier">A0</span><span class="special">...</span><span class="identifier">AN</span></code> children
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expr</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">,</span>
+ <span class="identifier">G0</span><span class="special">...</span><span class="identifier">GN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A Boost.Proto
+ grammar and <a href="/doc/libs/release/doc/html/boost/proto/pass_through.html" target="_top">Proto
+ Pass Through Transform</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expr</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">...</span><span class="identifier">AN</span><span class="special">&gt;::</span><span class="identifier">make</span><span class="special">(</span><span class="identifier">a0</span><span class="special">...</span><span class="identifier">aN</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a Phoenix Expression
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You might have noticed the template template argument <code class="computeroutput"><span class="identifier">Actor</span></code>
+ used in <code class="computeroutput"><span class="identifier">expr_ext</span></code>. This
+ can be a user supplied custom Actor adding other member functions or objects
+ than the default <code class="computeroutput"><span class="identifier">actor</span></code>
+ template. See <a class="link" href="../examples/extending_actors.html" title="Extending Actors">Extending
+ Actors</a> for more details.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="phoenix.inside.expression.h0"></a>
+ <span><a name="phoenix.inside.expression.meta_grammar"></a></span><a class="link" href="expression.html#phoenix.inside.expression.meta_grammar">meta_grammar</a>
+ </h5>
+<p>
+ Defining expressions is only part of the game to make it a valid Phoenix
+ Expression. In order to use the expressions in the Phoenix domain, we need
+ to "register" them to our grammar.
+ </p>
+<p>
+ The <code class="computeroutput"><span class="identifier">meta_grammar</span></code> is a struct
+ for exactly that purpose. It is an openly extendable Boost.Proto
+ Grammar:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">meta_grammar</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">switch_</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Dummy</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">case_</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">not_</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">};</span>
+</pre>
+<p>
+ As you can see, by default the <code class="computeroutput"><span class="identifier">meta_grammar</span></code>
+ matches nothing. With every <a class="link" href="../modules.html" title="Modules">Module</a>
+ you include this grammar gets extended by various expressions.
+ </p>
+<h5>
+<a name="phoenix.inside.expression.h1"></a>
+ <span><a name="phoenix.inside.expression.example"></a></span><a class="link" href="expression.html#phoenix.inside.expression.example">Example</a>
+ </h5>
+<p>
+ Define an expression:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">plus</span>
+ <span class="special">:</span> <span class="identifier">expr</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">plus</span><span class="special">,</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">&gt;</span>
+<span class="special">{};</span>
+</pre>
+<p>
+ And add it to the grammar:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">meta_grammar</span><span class="special">::</span><span class="identifier">case_</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">enable_rule</span><span class="special">&lt;</span>
+ <span class="identifier">plus</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+<span class="special">{};</span>
+</pre>
+<p>
+ Define a generator function to make the life of our potential users easier:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">plus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">plus</span><span class="special">(</span><span class="identifier">Lhs</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">Rhs</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">&gt;::</span><span class="identifier">make</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Look if it really works:
+ </p>
+<pre class="programlisting"><span class="identifier">plus</span><span class="special">(</span><span class="number">6</span><span class="special">,</span> <span class="number">5</span><span class="special">)();</span>
+</pre>
+<p>
+ returns 11!
+ </p>
+<pre class="programlisting"><span class="identifier">proto</span><span class="special">::</span><span class="identifier">display_expr</span><span class="special">(</span><span class="identifier">plus</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">6</span><span class="special">));</span>
+</pre>
+<p>
+ prints:
+ </p>
+<pre class="programlisting"><span class="identifier">plus</span><span class="special">(</span>
+ <span class="identifier">terminal</span><span class="special">(</span><span class="number">6</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">terminal</span><span class="special">(</span><span class="number">5</span><span class="special">)</span>
+<span class="special">)</span>
+</pre>
+<p>
+ See define_expression.cpp
+ for the full example.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The example shown here only works because <code class="computeroutput"><span class="identifier">default_actions</span></code>
+ knows how to handle an expression having the <code class="computeroutput"><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">plus</span></code>
+ and two children. This is because <code class="computeroutput"><span class="identifier">default_actions</span></code>
+ uses the <code class="computeroutput"><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_default</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span></code>
+ transform to evaluate operators and functions. Learn more about actions
+ <a class="link" href="actions.html" title="More on Actions">here</a>.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="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>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/expression/boilerplate_macros.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/expression/boilerplate_macros.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,530 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Boilerplate Macros - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../expression.html" title="Phoenix Expressions">
+<link rel="prev" href="../expression.html" title="Phoenix Expressions">
+<link rel="next" href="../actions.html" title="More on Actions">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../expression.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expression.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="../actions.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.inside.expression.boilerplate_macros"></a><a class="link" href="boilerplate_macros.html" title="Boilerplate Macros">Boilerplate
+ Macros</a>
+</h4></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>
+<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 class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression"></a><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression" title="BOOST_PHOENIX_DEFINE_EXPRESSION">BOOST_PHOENIX_DEFINE_EXPRESSION</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.h0"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.description"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to create Phoenix Expressions
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.h1"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.synopsis"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.synopsis">Synopsis</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION</span><span class="special">(</span>
+ <span class="special">(</span><span class="identifier">namespace_seq</span><span class="special">)(</span><span class="identifier">name</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">child_grammar0</span><span class="special">)</span>
+ <span class="special">(</span><span class="identifier">child_grammar1</span><span class="special">)</span>
+ <span class="special">...</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.h2"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.semantics"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates the necessary code for an expression <code class="computeroutput"><span class="identifier">name</span></code> in namespace <code class="computeroutput"><span class="identifier">namespace_seq</span></code>.
+ The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">child_grammarN</span><span class="special">)</span></code> declares how many children the expression
+ will have and what <code class="computeroutput"><span class="identifier">proto</span><span class="special">::</span><span class="identifier">grammar</span></code>
+ they match.
+ </p>
+<p>
+ The macro should be used at global scope. <code class="computeroutput"><span class="identifier">namespace_seq</span></code>
+ shall be the sequence of namespaces under which the following symbols
+ will be defined:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">tag</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">expression</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">name</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">expr</span><span class="special">&lt;</span>
+ <span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span>
+ <span class="special">,</span> <span class="identifier">A0</span>
+ <span class="special">,</span> <span class="identifier">A1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">AN</span>
+ <span class="special">&gt;</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">rule</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</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">expr</span><span class="special">&lt;</span>
+ <span class="identifier">child_grammar0</span>
+ <span class="special">,</span> <span class="identifier">child_grammar1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">child_grammarN</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">functional</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// A polymorphic function object that can be called to create the expression node</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// The result type of the expression node</span>
+<span class="special">}</span>
+
+<span class="comment">// convenience polymorphic function to create an expression node</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_name</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">make_name</span><span class="special">(</span><span class="identifier">A0</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a1</span> <span class="special">...</span> <span class="identifier">AN</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">an</span><span class="special">);</span>
+</pre>
+<p>
+ This macros also adds a specialization for <code class="computeroutput"><span class="identifier">meta_grammar</span><span class="special">::</span><span class="identifier">case_</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span><span class="special">&gt;</span></code> to enable the rule for further use
+ in actions.
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.h3"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.header"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.h4"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.example"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.example">Example</a>
+ </h6>
+<p>
+ The example from the previous section can be rewritten as:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION</span><span class="special">(</span>
+ <span class="special">(</span><span class="identifier">plus</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Lhs</span>
+ <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Rhs</span>
+<span class="special">)</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">plus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">plus</span><span class="special">(</span><span class="identifier">Lhs</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">Rhs</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">&gt;::</span><span class="identifier">make</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg"></a><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg" title="BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG">BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.h0"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.description"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to create Phoenix Expressions
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.h1"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.synopsis"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.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>
+ <span class="special">(</span><span class="identifier">namespace_seq</span><span class="special">)(</span><span class="identifier">name</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">child_grammar0</span><span class="special">)</span>
+ <span class="special">(</span><span class="identifier">child_grammar1</span><span class="special">)</span>
+ <span class="special">...</span>
+ <span class="special">(</span><span class="identifier">child_grammarN</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">N</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.h2"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.semantics"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates the necessary code for an expression <code class="computeroutput"><span class="identifier">name</span></code> in namespace <code class="computeroutput"><span class="identifier">namespace_seq</span></code>.
+ <code class="computeroutput"><span class="identifier">N</span></code> is the maximum number
+ of variable children. All but the last elements in the grammar sequence
+ are required children of the expression, and the last denotes a variable
+ number of children. The number of children an expression of this kind
+ can hold is therefor <code class="computeroutput"><span class="identifier">N</span><span class="special">-</span><span class="number">1</span></code> plus
+ the size of the sequence
+ </p>
+<p>
+ The macro should be used at global scope. <code class="computeroutput"><span class="identifier">namespace_seq</span></code>
+ shall be the sequence of namespaces under which the following symbols
+ will be defined:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">tag</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">expression</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">name</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">expr</span><span class="special">&lt;</span>
+ <span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span>
+ <span class="special">,</span> <span class="identifier">A0</span>
+ <span class="special">,</span> <span class="identifier">A1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">AN</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">rule</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">name</span><span class="special">&lt;</span>
+ <span class="identifier">child_grammar0</span>
+ <span class="special">,</span> <span class="identifier">child_grammar1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">child_grammarN</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">functional</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// A polymorphic function object that can be called to create the expression node</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// The result type of the expression node</span>
+<span class="special">}</span>
+
+<span class="comment">// convenience polymorphic function to create an expression node</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_name</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">make_name</span><span class="special">(</span><span class="identifier">A0</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a1</span> <span class="special">...</span> <span class="identifier">AN</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">an</span><span class="special">);</span>
+</pre>
+<p>
+ This macros also adds a specialization for <code class="computeroutput"><span class="identifier">meta_grammar</span><span class="special">::</span><span class="identifier">case_</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span><span class="special">&gt;</span></code> to enable the rule for further use
+ in actions.
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.h3"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.header"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.h4"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.example"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.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>
+ <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">mem_fun_ptr</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Pointer to Object</span>
+ <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Member pointer</span>
+ <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Variable number of arguments</span>
+ <span class="special">,</span> <span class="identifier">BOOST_PHOENIX_LIMIT</span>
+<span class="special">)</span>
+</pre>
+<p>
+ This defines the member function pointer operator expression as described
+ in <a class="link" href="../../modules/operator.html" title="Operator">operators</a>.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext"></a><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext" title="BOOST_PHOENIX_DEFINE_EXPRESSION_EXT">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.h0"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.description"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to create Phoenix Expressions
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.h1"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.synopsis"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.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>
+ <span class="identifier">actor</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">namespace_seq</span><span class="special">)(</span><span class="identifier">name</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">child_grammar0</span><span class="special">)</span>
+ <span class="special">(</span><span class="identifier">child_grammar1</span><span class="special">)</span>
+ <span class="special">...</span>
+ <span class="special">(</span><span class="identifier">child_grammarN</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">N</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.h2"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.semantics"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates the necessary code for an expression <code class="computeroutput"><span class="identifier">name</span></code> in namespace <code class="computeroutput"><span class="identifier">namespace_seq</span></code>.
+ The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">child_grammarN</span><span class="special">)</span></code> declares how many children the expression
+ will have and what <code class="computeroutput"><span class="identifier">proto</span><span class="special">::</span><span class="identifier">grammar</span></code>
+ they match.
+ </p>
+<p>
+ The macro should be used at global scope. <code class="computeroutput"><span class="identifier">namespace_seq</span></code>
+ shall be the sequence of namespaces under which the following symbols
+ will be defined:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">tag</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">expression</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">name</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">expr_ext</span><span class="special">&lt;</span>
+ <span class="identifier">actor</span>
+ <span class="special">,</span> <span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span>
+ <span class="special">,</span> <span class="identifier">A0</span>
+ <span class="special">,</span> <span class="identifier">A1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">AN</span>
+ <span class="special">&gt;</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">rule</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</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">expr</span><span class="special">&lt;</span>
+ <span class="identifier">child_grammar0</span>
+ <span class="special">,</span> <span class="identifier">child_grammar1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">child_grammarN</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">functional</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// A polymorphic function object that can be called to create the expression node</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// The result type of the expression node</span>
+<span class="special">}</span>
+
+<span class="comment">// convenience polymorphic function to create an expression node</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_name</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">make_name</span><span class="special">(</span><span class="identifier">A0</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a1</span> <span class="special">...</span> <span class="identifier">AN</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">an</span><span class="special">);</span>
+</pre>
+<p>
+ This macros also adds a specialization for <code class="computeroutput"><span class="identifier">meta_grammar</span><span class="special">::</span><span class="identifier">case_</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span><span class="special">&gt;</span></code> to enable the rule for further use
+ in actions.
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.h3"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.header"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.h4"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.example"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.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>
+ <span class="identifier">if_actor</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">)(</span><span class="identifier">phoenix</span><span class="special">)(</span><span class="identifier">if_</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Cond</span>
+ <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Then</span>
+<span class="special">)</span>
+</pre>
+<p>
+ This defines the if_ expression. The custom actor defines <code class="computeroutput"><span class="identifier">else_</span></code> as a member.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg"></a><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg" title="BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.h0"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.description"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to create Phoenix Expressions
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.h1"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.synopsis"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.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>
+ <span class="identifier">actor</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">namespace_seq</span><span class="special">)(</span><span class="identifier">name</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">child_grammar0</span><span class="special">)</span>
+ <span class="special">(</span><span class="identifier">child_grammar1</span><span class="special">)</span>
+ <span class="special">...</span>
+ <span class="special">(</span><span class="identifier">child_grammarN</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">N</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.h2"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.semantics"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates the necessary code for an expression <code class="computeroutput"><span class="identifier">name</span></code> in namespace <code class="computeroutput"><span class="identifier">namespace_seq</span></code>.
+ <code class="computeroutput"><span class="identifier">N</span></code> is the maximum number
+ of variable children. All but the last elements in the grammar sequence
+ are required children of the expression, and the last denotes a variable
+ number of children. The number of children an expression of this kind
+ can hold is therefor <code class="computeroutput"><span class="identifier">N</span><span class="special">-</span><span class="number">1</span></code> plus
+ the size of the sequence
+ </p>
+<p>
+ The macro should be used at global scope. <code class="computeroutput"><span class="identifier">namespace_seq</span></code>
+ shall be the sequence of namespaces under which the following symbols
+ will be defined:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">tag</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">expression</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">name</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">expr_ext</span><span class="special">&lt;</span>
+ <span class="identifier">actor</span>
+ <span class="special">,</span> <span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span>
+ <span class="special">,</span> <span class="identifier">A0</span>
+ <span class="special">,</span> <span class="identifier">A1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">AN</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">rule</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">name</span><span class="special">&lt;</span>
+ <span class="identifier">child_grammar0</span>
+ <span class="special">,</span> <span class="identifier">child_grammar1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">child_grammarN</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">functional</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// A polymorphic function object that can be called to create the expression node</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// The result type of the expression node</span>
+<span class="special">}</span>
+
+<span class="comment">// convenience polymorphic function to create an expression node</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_name</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">make_name</span><span class="special">(</span><span class="identifier">A0</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a1</span> <span class="special">...</span> <span class="identifier">AN</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">an</span><span class="special">);</span>
+</pre>
+<p>
+ This macros also adds a specialization for <code class="computeroutput"><span class="identifier">meta_grammar</span><span class="special">::</span><span class="identifier">case_</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span><span class="special">&gt;</span></code> to enable the rule for further use
+ in actions.
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.h3"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.header"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.h4"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.example"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.example">Example</a>
+ </h6>
+<p>
+ TBD
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expression.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expression.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="../actions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/placeholder_unification.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/placeholder_unification.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Placeholder Unification - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../inside.html" title="Inside Phoenix">
+<link rel="prev" href="custom_terminals.html" title="Custom Terminals">
+<link rel="next" href="../examples.html" title="Advanced Examples">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="custom_terminals.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="../examples.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.placeholder_unification"></a><a class="link" href="placeholder_unification.html" title="Placeholder Unification">Placeholder Unification</a>
+</h3></div></div></div>
+<p>
+ Phoenix uses <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_placeholder</span></code> for recognizing placeholders:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">is_placeholder</span>
+<span class="special">{</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ To adapt your own placeholder, the nested value needs to be greater than
+ 0 for your types. This is done by specializing this trait.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="custom_terminals.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="../examples.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/rules.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/inside/rules.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,1329 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Predefined Expressions and Rules - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../inside.html" title="Inside Phoenix">
+<link rel="prev" href="actions.html" title="More on Actions">
+<link rel="next" href="custom_terminals.html" title="Custom Terminals">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="actions.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="custom_terminals.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.rules"></a><a class="link" href="rules.html" title="Predefined Expressions and Rules">Predefined Expressions and Rules</a>
+</h3></div></div></div>
+<p>
+ This section is the "behind the scenes" counter part of the <a class="link" href="../modules.html" title="Modules">Modules</a> section. A listing of all the predefined
+ expressions and rules:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Rule
+ </p>
+ </th>
+<th>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">value</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">reference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">custom_terminal</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">argument</span></pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">custom_terminal</span></pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">AN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">function</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">negate</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">negate</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">unary_plus</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">unary_plus</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">pre_inc</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">pre_inc</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">pre_dec</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">pre_dec</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">post_inc</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">post_inc</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">post_dec</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">post_dec</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">minus_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">minus_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">minus_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">multiplies_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">multiplies_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">multiplies_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">divides_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">divides_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">divides_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">modules_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">modules_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">modules_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">minus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">minus</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">minus</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">multiplies</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">multiplies</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">multiplies</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">divides</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">divides</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">divides</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">modulus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">modulus</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">modulus</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">complement</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">complement</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">complement</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_and_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_and_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_and_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_or_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_or_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_or_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_xor_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_xor_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_xor_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_left_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">shift_left_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_left_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_right_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">shift_right_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_right_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_and</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_and</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_and</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_or</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_or</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_or</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_xor</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_xor</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_xor</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_left</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">shift_left</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_left</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_right</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">shift_right</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_right</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">equal_to</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">equal_to</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">equal_to</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">not_equal_to</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">not_equal_to</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">not_equal_to</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">less_equal_to</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">less_equal_to</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">less_equal_to</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">greater_equal</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">greater_equal</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">greater_equal</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">less</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">less</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">less</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">greater</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">greater</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">greater</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_else_operator</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Then</span><span class="special">,</span>
+ <span class="identifier">Else</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">if_else</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_else</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_not</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">logical_not</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_not</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_and</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">logical_and</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_and</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_or</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">logical_or</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_or</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">mem_fun_ptr</span><span class="special">&lt;</span><span class="identifier">Object</span><span class="special">,</span>
+ <span class="identifier">MemPtr</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">AN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">mem_fun_ptr</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">mem_fun_ptr</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">address_of</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">address_of</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">address_of</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">dereference</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">dereference</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">dereference</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">subscript</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">subscript</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">subscript</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">sequence</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">,</span>
+ <span class="identifier">A1</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">sequence</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">sequence</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Then</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">if_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_else_statement</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Then</span><span class="special">,</span>
+ <span class="identifier">Else</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">if_else_statement</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_else_statement</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_case</span><span class="special">&lt;</span><span class="identifier">Label</span><span class="special">,</span>
+ <span class="identifier">Statement</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">switch_case</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_case</span><span class="special">&lt;</span> <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_default_case</span><span class="special">&lt;</span><span class="identifier">Statement</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">switch_default_case</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_default_case</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Cases</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">switch_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">switch_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Do</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">while_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">do_while</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Do</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">do_while</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">do_while</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">for_</span><span class="special">&lt;</span><span class="identifier">Init</span><span class="special">,</span>
+ <span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Step</span><span class="special">,</span>
+ <span class="identifier">Do</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">for_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">for_</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">Exception</span><span class="special">,</span>
+ <span class="identifier">Statement</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&lt;</span>
+ <span class="identifier">catch_exception</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">catch_all</span><span class="special">&lt;</span><span class="identifier">Statement</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_all</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">try_catch</span><span class="special">&lt;</span><span class="identifier">Try</span><span class="special">,</span>
+ <span class="identifier">Catch0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">CatchN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">try_catch</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">or_</span><span class="special">&lt;</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">try_catch</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">try_catch</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_all</span>
+ <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">try_catch</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">catch_all</span>
+ <span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">throw_</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">throw_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">throw_</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">construct</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">AN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">construct</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">construct</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A0</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">AN</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">new_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">AN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">new_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">new_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A0</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">AN</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">delete_</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">delete_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">delete_</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">static_cast_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">static_cast_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">static_cast_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">dynamic_cast_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">dynamic_cast_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">dynamic_cast_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">reinterpret_cast_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">reinterpret_cast_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">reinterpret_cast_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">const_cast_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">const_cast_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">const_cast_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">local_variable</span><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">custom_terminal</span></pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">let</span><span class="special">&lt;</span><span class="identifier">Locals</span><span class="special">,</span>
+ <span class="identifier">Statement</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">let</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">let</span><span class="special">&lt;</span><span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">&lt;</span><span class="identifier">OuterEnv</span><span class="special">,</span>
+ <span class="identifier">Locals</span><span class="special">,</span>
+ <span class="identifier">Statement</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">lambda</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">&lt;</span><span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;,</span> <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">lambda_actor</span><span class="special">&lt;</span><span class="identifier">Locals</span><span class="special">,</span>
+ <span class="identifier">Statement</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">lambda_actor</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">lambda_actor</span><span class="special">&lt;</span><span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="actions.html"><img src="../../../../../../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="custom_terminals.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/introduction.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/introduction.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Introduction - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;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">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<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">
+<a name="phoenix.introduction"></a><a class="link" href="introduction.html" title="Introduction">Introduction</a>
+</h2></div></div></div>
+<p>
+ <span class="inlinemediaobject"><img src="../images/banner.png" alt="banner"></span>
+ </p>
+<p>
+ The Phoenix library enables FP techniques such as higher order functions,
+ <span class="emphasis"><em>lambda</em></span> (unnamed functions), <span class="emphasis"><em>currying</em></span>
+ (partial function application) and lazy evaluation in C++. The focus is more
+ on usefulness and practicality than purity, elegance and strict adherence to
+ FP principles.
+ </p>
+<p>
+ FP is a programming discipline that is not at all tied to a specific language.
+ FP as a programming discipline can, in fact, be applied to many programming
+ languages. In the realm of C++ for instance, we are seeing more FP techniques
+ being applied. C++ is sufficiently rich to support at least some of the most
+ important facets of FP. C++ is a multiparadigm programming language. It is
+ not only procedural. It is not only object oriented. Beneath the core of the
+ standard C++ library, a closer look into STL gives us a glimpse of FP already
+ in place. It is obvious that the authors of STL know and practice FP. In the
+ near future, we shall surely see more FP trickle down into the mainstream.
+ </p>
+<p>
+ The truth is, most of the FP techniques can coexist quite well with the standard
+ object oriented and imperative programming paradigms. When we are using STL
+ algorithms and functors (function objects) for example, we are already doing
+ FP. Phoenix is an evolutionary next step.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="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>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Modules - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="actor.html" title="Actor">
+<link rel="next" href="modules/core.html" title="Core">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="actor.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="modules/core.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">
+<a name="phoenix.modules"></a><a class="link" href="modules.html" title="Modules">Modules</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Core</span></dt>
+<dd><dl>
+<dt><span class="section">Values</span></dt>
+<dt><span class="section">References</span></dt>
+<dt><span class="section">Arguments</span></dt>
+<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>
+<dt><span class="section">Block Statement</span></dt>
+<dt><span class="section">if_ Statement</span></dt>
+<dt><span class="section">if_else_ Statement</span></dt>
+<dt><span class="section"><a href="modules/statement/switch__statement.html">switch_
+ Statement</a></span></dt>
+<dt><span class="section"><a href="modules/statement/while__statement.html">while_
+ Statement</a></span></dt>
+<dt><span class="section">do_while_ Statement</span></dt>
+<dt><span class="section">for_ Statement</span></dt>
+<dt><span class="section"><a href="modules/statement/try__catch__statement.html">try_
+ catch_ Statement</a></span></dt>
+<dt><span class="section">throw_</span></dt>
+</dl></dd>
+<dt><span class="section">Object</span></dt>
+<dd><dl>
+<dt><span class="section">Construction</span></dt>
+<dt><span class="section">New</span></dt>
+<dt><span class="section">Delete</span></dt>
+<dt><span class="section">Casts</span></dt>
+</dl></dd>
+<dt><span class="section">Scope</span></dt>
+<dd><dl>
+<dt><span class="section">Local Variables</span></dt>
+<dt><span class="section">let</span></dt>
+<dt><span class="section">lambda</span></dt>
+</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>
+<dt><span class="section"><a href="modules/bind/binding_member_variables.html">Binding
+ Member Variables</a></span></dt>
+<dt><span class="section"><a href="modules/bind/compatibility_with_boost_bind.html">Compatibility
+ with Boost.Bind</a></span></dt>
+</dl></dd>
+<dt><span class="section">STL</span></dt>
+<dd><dl>
+<dt><span class="section">Container</span></dt>
+<dt><span class="section">Algorithm</span></dt>
+</dl></dd>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="actor.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="modules/core.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Bind - Boost 1.49.0</title>
+<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&#160;1.&#160;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_function_objects.html" title="Binding Function Objects">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<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_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>
+<dt><span class="section"><a href="bind/binding_member_variables.html">Binding
+ Member Variables</a></span></dt>
+<dt><span class="section"><a href="bind/compatibility_with_boost_bind.html">Compatibility
+ with Boost.Bind</a></span></dt>
+</dl></div>
+<p>
+ <span class="emphasis"><em>Binding</em></span> is the act of tying together a function to some
+ arguments for deferred (lazy) evaluation. Named <a class="link" href="function.html" title="Function">lazy
+ functions</a> require a bit of typing. Unlike (unnamed) lambda expressions,
+ we need to write a functor somewhere offline, detached from the call site.
+ If you wish to transform a plain function, member function or member variable
+ to a lambda expression, <code class="computeroutput"><span class="identifier">bind</span></code>
+ is your friend.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ 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>
+ There is a set of overloaded <code class="computeroutput"><span class="identifier">bind</span></code>
+ template functions. Each <code class="computeroutput"><span class="identifier">bind</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ function generates a suitable binder object.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="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>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_function_objects.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_function_objects.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Binding Function Objects - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../bind.html" title="Bind">
+<link rel="prev" href="../bind.html" title="Bind">
+<link rel="next" href="binding_functions.html" title="Binding Functions">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<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_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_function_objects"></a><a class="link" href="binding_function_objects.html" title="Binding Function Objects">Binding
+ Function Objects</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">/</span><span class="identifier">bind_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Binding function objects serves two purposes: * Partial function application
+ * Quick adaption of already existing function objects
+ </p>
+<p>
+ In order to deduce the return type of the function object, it has to implement
+ the <a href="/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
+ Of</a> protocol. If the bound function object is polymorphic, the resulting
+ binding object is polymorphic.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../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_functions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Binding Functions - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" 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">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<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">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">/</span><span class="identifier">bind_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Example, given a function <code class="computeroutput"><span class="identifier">foo</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">n</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Here's how the function <code class="computeroutput"><span class="identifier">foo</span></code>
+ may be bound:
+ </p>
+<pre class="programlisting"><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)</span>
+</pre>
+<p>
+ This is now a full-fledged expression that can finally be evaluated by
+ another function call invocation. A second function call will invoke the
+ actual <code class="computeroutput"><span class="identifier">foo</span></code> function. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)(</span><span class="number">4</span><span class="special">);</span>
+</pre>
+<p>
+ will print out "4".
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="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>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Binding Member Functions - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../bind.html" title="Bind">
+<link rel="prev" href="binding_functions.html" title="Binding Functions">
+<link rel="next" href="binding_member_variables.html" title="Binding Member Variables">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="binding_functions.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_variables.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_member_functions"></a><a class="link" href="binding_member_functions.html" title="Binding Member Functions">Binding
+ Member Functions</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">/</span><span class="identifier">bind_member_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ 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:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">xyz</span>
+<span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">xyz</span></code>'s <code class="computeroutput"><span class="identifier">foo</span></code>
+ member function can be bound as:
+ </p>
+<pre class="programlisting"><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)</span> <span class="comment">// obj is an xyz object</span>
+</pre>
+<p>
+ Take note that a lazy-member functions expects the first argument to be
+ a pointer or reference to an object. Both the object (reference or pointer)
+ and the arguments can be lazily bound. Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">xyz</span> <span class="identifier">obj</span><span class="special">;</span>
+<span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="comment">// arg1.foo(arg2)</span>
+<span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)</span> <span class="comment">// obj.foo(arg1)</span>
+<span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">,</span> <span class="number">100</span><span class="special">)</span> <span class="comment">// obj.foo(100)</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binding_functions.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_variables.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Binding Member Variables - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../bind.html" title="Bind">
+<link rel="prev" href="binding_member_functions.html" title="Binding Member Functions">
+<link rel="next" href="compatibility_with_boost_bind.html" title="Compatibility with Boost.Bind">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="binding_member_functions.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="compatibility_with_boost_bind.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_member_variables"></a><a class="link" href="binding_member_variables.html" title="Binding Member Variables">Binding
+ Member Variables</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">/</span><span class="identifier">bind_member_variable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Member variables can also be bound much like member functions. Member variables
+ are not functions. Yet, like the <a class="link" href="../core/references.html" title="References"><code class="computeroutput"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code></a>
+ that acts like a nullary function returning a reference to the data, member
+ variables, when bound, act like a unary function, taking in a pointer or
+ reference to an object as its argument and returning a reference to the
+ bound member variable. For instance, given:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">xyz</span>
+<span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">v</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">v</span></code> can be bound as:
+ </p>
+<pre class="programlisting"><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">)</span> <span class="comment">// obj is an xyz object</span>
+</pre>
+<p>
+ As noted, just like the bound member function, a bound member variable
+ also expects the first (and only) argument to be a pointer or reference
+ to an object. The object (reference or pointer) can be lazily bound. Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">xyz</span> <span class="identifier">obj</span><span class="special">;</span>
+<span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)</span> <span class="comment">// arg1.v</span>
+<span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">)</span> <span class="comment">// obj.v</span>
+<span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)(</span><span class="identifier">obj</span><span class="special">)</span> <span class="special">=</span> <span class="number">4</span> <span class="comment">// obj.v = 4</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binding_member_functions.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="compatibility_with_boost_bind.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/compatibility_with_boost_bind.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/bind/compatibility_with_boost_bind.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Compatibility with Boost.Bind - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../bind.html" title="Bind">
+<link rel="prev" href="binding_member_variables.html" title="Binding Member Variables">
+<link rel="next" href="../stl.html" title="STL">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="binding_member_variables.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="../stl.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.compatibility_with_boost_bind"></a><a class="link" href="compatibility_with_boost_bind.html" title="Compatibility with Boost.Bind">Compatibility
+ with Boost.Bind</a>
+</h4></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">bind</span></code> passes all testcases of the Boost.Bind
+ library. It is therefore completely compatible and interchangeable.
+ </p>
+<p>
+ Given the compatibility with Boost.Bind, we also assume compatibility with
+ std::tr1::bind and std::bind from the upcoming C++0x standard.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binding_member_variables.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="../stl.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Core - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../modules.html" title="Modules">
+<link rel="prev" href="../modules.html" title="Modules">
+<link rel="next" href="core/values.html" title="Values">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../modules.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="core/values.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.core"></a><a class="link" href="core.html" title="Core">Core</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Values</span></dt>
+<dt><span class="section">References</span></dt>
+<dt><span class="section">Arguments</span></dt>
+<dt><span class="section">Nothing</span></dt>
+</dl></div>
+<p>
+ Actors are composed to create more complex actors in a tree-like hierarchy.
+ The primitives are atomic entities that are like the leaves in the tree.
+ Phoenix is extensible. New primitives can be added anytime. Right out of
+ the box, there are only a few primitives, these are all defined in the Core
+ module.
+ </p>
+<p>
+ This section shall deal with these preset primitives.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../modules.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="core/values.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core/arguments.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core/arguments.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,209 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Arguments - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../core.html" title="Core">
+<link rel="prev" href="references.html" title="References">
+<link rel="next" href="nothing.html" title="Nothing">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="references.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="nothing.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.core.arguments"></a><a class="link" href="arguments.html" title="Arguments">Arguments</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">argument</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ We use an instance of:
+ </p>
+<pre class="programlisting"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;::</span><span class="identifier">type</span>
+</pre>
+<p>
+ to represent the Nth function argument. The argument placeholder acts as
+ an imaginary data-bin where a function argument will be placed.
+ </p>
+<h6>
+<a name="phoenix.modules.core.arguments.h0"></a>
+ <span><a name="phoenix.modules.core.arguments.predefined_arguments"></a></span><a class="link" href="arguments.html#phoenix.modules.core.arguments.predefined_arguments">Predefined
+ Arguments</a>
+ </h6>
+<p>
+ There are a few predefined instances of <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ named <code class="computeroutput"><span class="identifier">arg1</span></code>..<code class="computeroutput"><span class="identifier">argN</span></code>, and its BLL
+ counterpart <code class="computeroutput"><span class="identifier">_1</span></code>..<code class="computeroutput"><span class="identifier">_N</span></code>. (where N is a predefined maximum).
+ </p>
+<p>
+ Here are some sample preset definitions of <code class="computeroutput"><span class="identifier">arg1</span></code>..<code class="computeroutput"><span class="identifier">argN</span></code>
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">placeholders</span>
+<span class="special">{</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">arg1</span> <span class="special">=</span> <span class="special">{};</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">arg2</span> <span class="special">=</span> <span class="special">{};</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">3</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">arg3</span> <span class="special">=</span> <span class="special">{};</span>
+<span class="special">}</span>
+</pre>
+<p>
+ and its BLL
+ <code class="computeroutput"><span class="identifier">_1</span></code>..<code class="computeroutput"><span class="identifier">_N</span></code>
+ style counterparts:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">placeholders</span>
+<span class="special">{</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">_1</span> <span class="special">=</span> <span class="special">{};</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">_2</span> <span class="special">=</span> <span class="special">{};</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">3</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">_3</span> <span class="special">=</span> <span class="special">{};</span>
+<span class="special">}</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You can set <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_ARG_LIMIT</span></code>,
+ the predefined maximum placeholder index. By default, <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_ARG_LIMIT</span></code>
+ is set to <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>
+ (See <a class="link" href="../../actor.html" title="Actor">Actor</a>).
+ </p></td></tr>
+</table></div>
+<h6>
+<a name="phoenix.modules.core.arguments.h1"></a>
+ <span><a name="phoenix.modules.core.arguments.user_defined_arguments"></a></span><a class="link" href="arguments.html#phoenix.modules.core.arguments.user_defined_arguments">User Defined
+ Arguments</a>
+ </h6>
+<p>
+ When appropriate, you can define your own <code class="computeroutput"><span class="identifier">argument</span></code>
+ names. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">x</span><span class="special">;</span> <span class="comment">// note one based index</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">x</span></code> may now be used as a
+ parameter to a lazy function:
+ </p>
+<pre class="programlisting"><span class="identifier">add</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="number">6</span><span class="special">)</span>
+</pre>
+<p>
+ which is equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">add</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="number">6</span><span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.modules.core.arguments.h2"></a>
+ <span><a name="phoenix.modules.core.arguments.evaluating_an_argument"></a></span><a class="link" href="arguments.html#phoenix.modules.core.arguments.evaluating_an_argument">Evaluating
+ an Argument</a>
+ </h6>
+<p>
+ An argument, when evaluated, selects the Nth argument from the those passed
+ in by the client.
+ </p>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">c</span> <span class="special">=</span> <span class="char">'A'</span><span class="special">;</span>
+<span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">123</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">s</span> <span class="special">=</span> <span class="string">"Hello World"</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Get the 1st argument: c</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">s</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Get the 1st argument: i</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg2</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">s</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Get the 2nd argument: s</span>
+</pre>
+<p>
+ will print out:
+ </p>
+<pre class="programlisting"><span class="identifier">A</span>
+<span class="number">123</span>
+<span class="identifier">Hello</span> <span class="identifier">World</span>
+</pre>
+<h6>
+<a name="phoenix.modules.core.arguments.h3"></a>
+ <span><a name="phoenix.modules.core.arguments.extra_arguments"></a></span><a class="link" href="arguments.html#phoenix.modules.core.arguments.extra_arguments">Extra
+ Arguments</a>
+ </h6>
+<p>
+ In C and C++, a function can have extra arguments that are not at all used
+ by the function body itself. These extra arguments are simply ignored.
+ </p>
+<p>
+ Phoenix also allows extra arguments to be passed. For example, recall our
+ original <code class="computeroutput"><span class="identifier">add</span></code> function:
+ </p>
+<pre class="programlisting"><span class="identifier">add</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)</span>
+</pre>
+<p>
+ We know now that partially applying this function results to a function
+ that expects 2 arguments. However, the library is a bit more lenient and
+ allows the caller to supply more arguments than is actually required. Thus,
+ <code class="computeroutput"><span class="identifier">add</span></code> actually allows 2
+ <span class="emphasis"><em>or more</em></span> arguments. For instance, with:
+ </p>
+<pre class="programlisting"><span class="identifier">add</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span>
+</pre>
+<p>
+ the third argument <code class="computeroutput"><span class="identifier">z</span></code> is
+ ignored. Taking this further, in-between arguments are also ignored. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">add</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg5</span><span class="special">)(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">d</span><span class="special">,</span> <span class="identifier">e</span><span class="special">)</span>
+</pre>
+<p>
+ Here, arguments b, c, and d are ignored. The function <code class="computeroutput"><span class="identifier">add</span></code>
+ takes in the first argument (<code class="computeroutput"><span class="identifier">arg1</span></code>)
+ and the fifth argument (<code class="computeroutput"><span class="identifier">arg5</span></code>).
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ There are a few reasons why enforcing strict arity is not desirable.
+ A case in point is the callback function. Typical callback functions
+ provide more information than is actually needed. Lambda functions are
+ often used as callbacks.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="references.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="nothing.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core/nothing.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core/nothing.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Nothing - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../core.html" title="Core">
+<link rel="prev" href="arguments.html" title="Arguments">
+<link rel="next" href="../function.html" title="Function">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="arguments.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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.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.core.nothing"></a><a class="link" href="nothing.html" title="Nothing">Nothing</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">nothing</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Finally, the <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ does nothing; (a "bum", if you will :-) ). There's a sole <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span></code> instance named "nothing".
+ This actor is actually useful in situations where we don't want to do anything.
+ (See <a class="link" href="../statement/for_statement.html" title="for_ Statement">for_ Statement</a>
+ for example).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="arguments.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core/references.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core/references.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,131 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>References - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../core.html" title="Core">
+<link rel="prev" href="values.html" title="Values">
+<link rel="next" href="arguments.html" title="Arguments">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="values.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="arguments.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.core.references"></a><a class="link" href="references.html" title="References">References</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Values are immutable constants. Attempting to modify a value will result
+ in a compile time error. When we want the function to modify the parameter,
+ we use a reference instead. For instance, imagine a lazy function <code class="computeroutput"><span class="identifier">add_assign</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">add_assign</span><span class="special">(</span><span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">y</span><span class="special">)</span> <span class="special">{</span> <span class="identifier">x</span> <span class="special">+=</span> <span class="identifier">y</span><span class="special">;</span> <span class="special">}</span> <span class="comment">// pseudo code</span>
+</pre>
+<p>
+ Here, we want the first function argument, x, to be mutable. Obviously,
+ we cannot write:
+ </p>
+<pre class="programlisting"><span class="identifier">add_assign</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span> <span class="comment">// error first argument is immutable</span>
+</pre>
+<p>
+ In C++, we can pass in a reference to a variable as the first argument
+ in our example above. Yet, by default, the library forces arguments passed
+ to partially applied functions to be immutable values (see <a class="link" href="values.html" title="Values">Values</a>).
+ To achieve our intent, we use:
+ </p>
+<pre class="programlisting"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">reference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+</pre>
+<p>
+ This is similar to <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ before but instead holds a reference to a variable.
+ </p>
+<p>
+ We normally don't instantiate <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">reference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ objects directly. Instead we use:
+ </p>
+<pre class="programlisting"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
+</pre>
+<p>
+ For example (where <code class="computeroutput"><span class="identifier">i</span></code> is
+ an <code class="computeroutput"><span class="keyword">int</span></code> variable):
+ </p>
+<pre class="programlisting"><span class="identifier">add_assign</span><span class="special">(</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">),</span> <span class="number">2</span><span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.modules.core.references.h0"></a>
+ <span><a name="phoenix.modules.core.references.evaluating_a_reference"></a></span><a class="link" href="references.html#phoenix.modules.core.references.evaluating_a_reference">Evaluating
+ a Reference</a>
+ </h6>
+<p>
+ References are actors. Hence, references can be evaluated. Such invocation
+ gives the reference's identity. Example:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">s</span> <span class="special">=</span> <span class="string">"Hello World"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)()</span> <span class="special">&lt;&lt;</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">s</span><span class="special">)();</span>
+</pre>
+<p>
+ prints out "3 Hello World"
+ </p>
+<h6>
+<a name="phoenix.modules.core.references.h1"></a>
+ <span><a name="phoenix.modules.core.references.constant_references"></a></span><a class="link" href="references.html#phoenix.modules.core.references.constant_references">Constant
+ References</a>
+ </h6>
+<p>
+ Another free function
+ </p>
+<pre class="programlisting"><span class="identifier">cref</span><span class="special">(</span><span class="identifier">cv</span><span class="special">)</span>
+</pre>
+<p>
+ may also be used. <code class="computeroutput"><span class="identifier">cref</span><span class="special">(</span><span class="identifier">cv</span><span class="special">)</span></code>
+ creates an <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">reference</span><span class="special">&lt;</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ object. This is similar to <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ but when the data to be passed as argument to a function is heavy and expensive
+ to copy by value, the <code class="computeroutput"><span class="identifier">cref</span><span class="special">(</span><span class="identifier">cv</span><span class="special">)</span></code>
+ offers a lighter alternative.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="values.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="arguments.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core/values.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/core/values.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Values - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../core.html" title="Core">
+<link rel="prev" href="../core.html" title="Core">
+<link rel="next" href="references.html" title="References">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../core.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="references.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.core.values"></a><a class="link" href="values.html" title="Values">Values</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">value</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Whenever we see a constant in a partially applied function, an
+ </p>
+<pre class="programlisting"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+</pre>
+<p>
+ (where T is the type of the constant) is automatically created for us.
+ For instance:
+ </p>
+<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>
+<p>
+ Passing a second argument, <code class="computeroutput"><span class="number">6</span></code>,
+ an <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is implicitly created behind the
+ scenes. This is also equivalent to <code class="computeroutput"><span class="identifier">add</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">val</span><span class="special">(</span><span class="number">6</span><span class="special">))</span></code>.
+ </p>
+<pre class="programlisting"><span class="identifier">val</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
+</pre>
+<p>
+ generates an <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ where <code class="computeroutput"><span class="identifier">T</span></code> is the type of
+ <code class="computeroutput"><span class="identifier">x</span></code>. In most cases, there's
+ no need to explicitly use <code class="computeroutput"><span class="identifier">val</span></code>,
+ but, as we'll see later on, there are situations where this is unavoidable.
+ </p>
+<h3>
+<a name="phoenix.modules.core.values.h0"></a>
+ <span><a name="phoenix.modules.core.values.evaluating_a_value"></a></span><a class="link" href="values.html#phoenix.modules.core.values.evaluating_a_value">Evaluating
+ a Value</a>
+ </h3>
+<p>
+ Like arguments, values are also actors. As such, values can be evaluated.
+ Invoking a value gives the value's identity. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)()</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"Hello World"</span><span class="special">)();</span>
+</pre>
+<p>
+ prints out "3 Hello World".
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../core.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="references.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/function.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/function.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,165 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../modules.html" title="Modules">
+<link rel="prev" href="core/nothing.html" title="Nothing">
+<link rel="next" href="function/adapting_functions.html" title="Adapting Functions">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<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="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>
+<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,
+ 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.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</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>),
+ the argument types of these functions are automatically lazily bound.
+ </p>
+<p>
+ In order to create a lazy function, we need to implement a model of the
+ <a href="/doc/libs/release/libs/fusion/doc/html/fusion/functional/concepts/poly.html" target="_top">Polymorphic
+ Function Object</a> concept. For a function that takes <code class="computeroutput"><span class="identifier">N</span></code> arguments, a model of <a href="/doc/libs/release/libs/fusion/doc/html/fusion/functional/concepts/poly.html" target="_top">Polymorphic
+ Function Object</a> must provide:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ An <code class="computeroutput"><span class="keyword">operator</span><span class="special">()</span></code>
+ that takes <code class="computeroutput"><span class="identifier">N</span></code> arguments,
+ and implements the function logic. This is also true for ordinary function
+ pointers.
+ </li>
+<li class="listitem">
+ A nested metafunction <code class="computeroutput"><span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">Signature</span><span class="special">&gt;</span></code> or nested typedef <code class="computeroutput"><span class="identifier">result_type</span></code>,
+ following the <a href="/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
+ Of</a> Protocol
+ </li>
+</ul></div>
+<p>
+ For example, the following type implements the FunctionEval concept, in order
+ to provide a lazy factorial function:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">factorial_impl</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">This</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Arg</span> <span class="keyword">const</span> <span class="special">&amp;)&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">Arg</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+ <span class="identifier">Arg</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Arg</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">n</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;=</span> <span class="number">0</span><span class="special">)</span> <span class="special">?</span> <span class="number">1</span> <span class="special">:</span> <span class="identifier">n</span> <span class="special">*</span> <span class="special">(*</span><span class="keyword">this</span><span class="special">)(</span><span class="identifier">n</span><span class="special">-</span><span class="number">1</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ (See factorial.cpp)
+ </p>
+<p>
+ Having implemented the <code class="computeroutput"><span class="identifier">factorial_impl</span></code>
+ type, we can declare and instantiate a lazy <code class="computeroutput"><span class="identifier">factorial</span></code>
+ function this way:
+ </p>
+<pre class="programlisting"><span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">factorial_impl</span><span class="special">&gt;</span> <span class="identifier">factorial</span><span class="special">;</span>
+</pre>
+<p>
+ Invoking a lazy function such as <code class="computeroutput"><span class="identifier">factorial</span></code>
+ does not immediately execute the function object <code class="computeroutput"><span class="identifier">factorial_impl</span></code>.
+ Instead, an <a class="link" href="../actor.html" title="Actor">actor</a> object is created
+ and returned to the caller. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">factorial</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span>
+</pre>
+<p>
+ does nothing more than return an actor. A second function call will invoke
+ the actual factorial function. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">factorial</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)(</span><span class="number">4</span><span class="special">);</span>
+</pre>
+<p>
+ will print out "24".
+ </p>
+<p>
+ Take note that in certain cases (e.g. for function objects with state), an
+ instance of the model of <a href="/doc/libs/release/libs/fusion/doc/html/fusion/functional/concepts/poly.html" target="_top">Polymorphic
+ Function Object</a> may be passed on to the constructor. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">factorial_impl</span><span class="special">&gt;</span> <span class="identifier">factorial</span><span class="special">(</span><span class="identifier">ftor</span><span class="special">);</span>
+</pre>
+<p>
+ where ftor is an instance of factorial_impl (this is not necessary in this
+ case as <code class="computeroutput"><span class="identifier">factorial_impl</span></code> does
+ not require any state).
+ </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../doc/src/images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Take care though when using function objects with state because they are
+ often copied repeatedly, and state may change in one of the copies, rather
+ than the original.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="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>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,385 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Adapting Functions - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../function.html" title="Function">
+<link rel="prev" href="../function.html" title="Function">
+<link rel="next" href="../operator.html" title="Operator">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../function.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.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>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="phoenix.modules.function.adapting_functions"></a><a class="link" href="adapting_functions.html" title="Adapting Functions">Adapting
+ Functions</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY</span></dt>
+<dt><span class="section">BOOST_PHOENIX_ADAPT_FUNCTION</span></dt>
+<dt><span class="section">BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY</span></dt>
+<dt><span class="section">BOOST_PHOENIX_ADAPT_CALLABLE</span></dt>
+</dl></div>
+<p>
+ 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 <a class="link" href="../bind.html" title="Bind">phoenix.modules.bind</a>
+ functions.
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary"></a><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary" title="BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY">BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.h0"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.description"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to make an arbitrary nullary function a lazy function.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ These macros generate no global objects. The resulting lazy functions
+ are real functions that create the lazy function expression object
+ </p></td></tr>
+</table></div>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.h1"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.synopsis"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.synopsis">Synopsis</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY</span><span class="special">(</span>
+ <span class="identifier">RETURN_TYPE</span>
+ <span class="special">,</span> <span class="identifier">LAZY_FUNCTION</span>
+ <span class="special">,</span> <span class="identifier">FUNCTION</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.h2"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.semantics"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates all necessary code to have a nullary lazy function
+ <code class="computeroutput"><span class="identifier">LAZY_FUNCTION</span></code> which calls
+ the nullary <code class="computeroutput"><span class="identifier">FUNCTION</span></code>
+ that has the return type <code class="computeroutput"><span class="identifier">RETURN_TYPE</span></code>
+ </p>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.h3"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.header"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">function</span><span class="special">/</span><span class="identifier">adapt_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.h4"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.example"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
+<span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">foo</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="number">42</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="identifier">BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">foo</span><span class="special">,</span> <span class="identifier">demo</span><span class="special">::</span><span class="identifier">foo</span><span class="special">)</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">_1</span><span class="special">;</span>
+
+ <span class="identifier">assert</span><span class="special">((</span><span class="identifier">_1</span> <span class="special">+</span> <span class="identifier">foo</span><span class="special">())(</span><span class="number">1</span><span class="special">)</span> <span class="special">==</span> <span class="number">43</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function"></a><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function" title="BOOST_PHOENIX_ADAPT_FUNCTION">BOOST_PHOENIX_ADAPT_FUNCTION</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.h0"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.description"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_ADAPT_FUNCTION</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to make an arbitrary function a lazy function.
+ </p>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.h1"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.synopsis"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.synopsis">Synopsis</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_ADAPT_FUNCTION</span><span class="special">(</span>
+ <span class="identifier">RETURN_TYPE</span>
+ <span class="special">,</span> <span class="identifier">LAZY_FUNCTION</span>
+ <span class="special">,</span> <span class="identifier">FUNCTION</span>
+ <span class="special">,</span> <span class="identifier">FUNCTION_ARITY</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.h2"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.semantics"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates all necessary code to have a lazy function
+ <code class="computeroutput"><span class="identifier">LAZY_FUNCTION</span></code> which calls
+ <code class="computeroutput"><span class="identifier">FUNCTION</span></code> that has the
+ return type <code class="computeroutput"><span class="identifier">RETURN_TYPE</span></code>
+ with <code class="computeroutput"><span class="identifier">FUNCTION_ARITY</span></code> number
+ of arguments.
+ </p>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.h3"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.header"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">function</span><span class="special">/</span><span class="identifier">adapt_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.h4"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.example"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
+<span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">plus</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">b</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">a</span> <span class="special">+</span> <span class="identifier">b</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">T</span>
+ <span class="identifier">plus</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">c</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">a</span> <span class="special">+</span> <span class="identifier">b</span> <span class="special">+</span> <span class="identifier">c</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="identifier">BOOST_PHOENIX_ADAPT_FUNCTION</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">plus</span><span class="special">,</span> <span class="identifier">demo</span><span class="special">::</span><span class="identifier">plus</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span>
+
+<span class="identifier">BOOST_PHOENIX_ADAPT_FUNCTION</span><span class="special">(</span>
+ <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="special">,</span> <span class="identifier">plus</span>
+ <span class="special">,</span> <span class="identifier">demo</span><span class="special">::</span><span class="identifier">plus</span>
+ <span class="special">,</span> <span class="number">3</span>
+<span class="special">)</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">arg_names</span><span class="special">::</span><span class="identifier">arg1</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">arg_names</span><span class="special">::</span><span class="identifier">arg2</span><span class="special">;</span>
+
+ <span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">123</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">b</span> <span class="special">=</span> <span class="number">256</span><span class="special">;</span>
+
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">plus</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">);</span>
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">plus</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">,</span> <span class="number">3</span><span class="special">)(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="number">3</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary"></a><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary" title="BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY">BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.h0"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.description"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to make an arbitrary nullary function object a lazy function.
+ </p>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.h1"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.synopsis"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.synopsis">Synopsis</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY</span><span class="special">(</span>
+ <span class="identifier">LAZY_FUNCTION</span>
+ <span class="special">,</span> <span class="identifier">CALLABLE</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.h2"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.semantics"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates all necessary code to create <code class="computeroutput"><span class="identifier">LAZY_FUNCTION</span></code> which creates a lazy
+ function object that represents a nullary call to <code class="computeroutput"><span class="identifier">CALLABLE</span></code>.
+ The return type is specified by <code class="computeroutput"><span class="identifier">CALLABLE</span></code>
+ conforming to the <a href="/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
+ Of</a> protocol.
+ </p>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.h3"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.header"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">function</span><span class="special">/</span><span class="identifier">adapt_callable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.h4"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.example"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">foo</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()()</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="number">42</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="identifier">BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY</span><span class="special">(</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">demo</span><span class="special">::</span><span class="identifier">foo</span><span class="special">)</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">_1</span><span class="special">;</span>
+
+ <span class="identifier">assert</span><span class="special">((</span><span class="identifier">_1</span> <span class="special">+</span> <span class="identifier">foo</span><span class="special">())(</span><span class="number">1</span><span class="special">)</span> <span class="special">==</span> <span class="number">43</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable"></a><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable" title="BOOST_PHOENIX_ADAPT_CALLABLE">BOOST_PHOENIX_ADAPT_CALLABLE</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.h0"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.description"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_ADAPT_CALLABLE</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to make an arbitrary function object a lazy function.
+ </p>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.h1"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.synopsis"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.synopsis">Synopsis</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_ADAPT_CALLABLE</span><span class="special">(</span>
+ <span class="identifier">LAZY_FUNCTION</span>
+ <span class="special">,</span> <span class="identifier">FUNCTION_NAME</span>
+ <span class="special">,</span> <span class="identifier">FUNCTION_ARITY</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.h2"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.semantics"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates all necessary code to create <code class="computeroutput"><span class="identifier">LAZY_FUNCTION</span></code> which creates a lazy
+ function object that represents a call to <code class="computeroutput"><span class="identifier">CALLABLE</span></code>
+ with <code class="computeroutput"><span class="identifier">FUNCTION_ARITY</span></code> arguments.
+ The return type is specified by <code class="computeroutput"><span class="identifier">CALLABLE</span></code>
+ conforming to the <a href="/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
+ Of</a> protocol.
+ </p>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.h3"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.header"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">function</span><span class="special">/</span><span class="identifier">adapt_callable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.h4"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.example"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">plus</span>
+ <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">This</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">A0</span><span class="special">,</span> <span class="identifier">A1</span><span class="special">)&gt;</span>
+ <span class="special">:</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span>
+ <span class="special">{};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">This</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A2</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">A0</span><span class="special">,</span> <span class="identifier">A1</span><span class="special">,</span> <span class="identifier">A2</span><span class="special">)&gt;</span>
+ <span class="special">:</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span>
+ <span class="special">{};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">&gt;</span>
+ <span class="identifier">A0</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">A0</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">a0</span> <span class="special">+</span> <span class="identifier">a1</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A2</span><span class="special">&gt;</span>
+ <span class="identifier">A0</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">A0</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span> <span class="identifier">A2</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">a0</span> <span class="special">+</span> <span class="identifier">a1</span> <span class="special">+</span> <span class="identifier">a2</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">};</span>
+<span class="special">}</span>
+
+<span class="identifier">BOOST_PHOENIX_ADAPT_CALLABLE</span><span class="special">(</span><span class="identifier">plus</span><span class="special">,</span> <span class="identifier">demo</span><span class="special">::</span><span class="identifier">plus</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span>
+
+<span class="identifier">BOOST_PHOENIX_ADAPT_CALLABLE</span><span class="special">(</span><span class="identifier">plus</span><span class="special">,</span> <span class="identifier">demo</span><span class="special">::</span><span class="identifier">plus</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">arg_names</span><span class="special">::</span><span class="identifier">arg1</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">arg_names</span><span class="special">::</span><span class="identifier">arg2</span><span class="special">;</span>
+
+ <span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">123</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">b</span> <span class="special">=</span> <span class="number">256</span><span class="special">;</span>
+
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">plus</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">);</span>
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">plus</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">,</span> <span class="number">3</span><span class="special">)(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="number">3</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../function.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.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>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Object - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../modules.html" title="Modules">
+<link rel="prev" href="statement/throw_.html" title="throw_">
+<link rel="next" href="object/construction.html" title="Construction">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="statement/throw_.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="object/construction.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.object"></a><a class="link" href="object.html" title="Object">Object</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Construction</span></dt>
+<dt><span class="section">New</span></dt>
+<dt><span class="section">Delete</span></dt>
+<dt><span class="section">Casts</span></dt>
+</dl></div>
+<p>
+ The Object module deals with object construction, destruction and conversion.
+ The module provides <span class="emphasis"><em>"lazy"</em></span> versions of C++'s
+ object constructor, <code class="computeroutput"><span class="keyword">new</span></code>, <code class="computeroutput"><span class="keyword">delete</span></code>, <code class="computeroutput"><span class="keyword">static_cast</span></code>,
+ <code class="computeroutput"><span class="keyword">dynamic_cast</span></code>, <code class="computeroutput"><span class="keyword">const_cast</span></code> and <code class="computeroutput"><span class="keyword">reinterpret_cast</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="statement/throw_.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="object/construction.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object/casts.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object/casts.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Casts - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../object.html" title="Object">
+<link rel="prev" href="delete.html" title="Delete">
+<link rel="next" href="../scope.html" title="Scope">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="delete.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="../scope.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.object.casts"></a><a class="link" href="casts.html" title="Casts">Casts</a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong><span class="emphasis"><em>Lazy casts...</em></span></strong></span>
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">/</span><span class="keyword">static_cast</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">/</span><span class="keyword">dynamic_cast</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">/</span><span class="keyword">const_cast</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">/</span><span class="keyword">reinterpret_cast</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The set of lazy C++ cast template functions provide a way of lazily casting
+ an object of a certain type to another type. The syntax resembles the well
+ known C++ casts. Take note however that the lazy versions have a trailing
+ underscore.
+ </p>
+<pre class="programlisting"><span class="identifier">static_cast_</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lambda_expression</span><span class="special">)</span>
+<span class="identifier">dynamic_cast_</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lambda_expression</span><span class="special">)</span>
+<span class="identifier">const_cast_</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lambda_expression</span><span class="special">)</span>
+<span class="identifier">reinterpret_cast_</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lambda_expression</span><span class="special">)</span>
+</pre>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">static_cast_</span><span class="special">&lt;</span><span class="identifier">Base</span><span class="special">*&gt;(&amp;</span><span class="identifier">arg1</span><span class="special">)</span>
+</pre>
+<p>
+ Static-casts the address of <code class="computeroutput"><span class="identifier">arg1</span></code>
+ to a <code class="computeroutput"><span class="identifier">Base</span><span class="special">*</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="delete.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="../scope.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object/construction.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object/construction.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Construction - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../object.html" title="Object">
+<link rel="prev" href="../object.html" title="Object">
+<link rel="next" href="new.html" title="New">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../object.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="new.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.object.construction"></a><a class="link" href="construction.html" title="Construction">Construction</a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong><span class="emphasis"><em>Lazy constructors...</em></span></strong></span>
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">/</span><span class="identifier">construct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Lazily construct an object from an arbitrary set of arguments:
+ </p>
+<pre class="programlisting"><span class="identifier">construct</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">ctor_arg1</span><span class="special">,</span> <span class="identifier">ctor_arg2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">ctor_argN</span><span class="special">);</span>
+</pre>
+<p>
+ where the given parameters are the parameters to the constructor of the
+ object of type T (This implies, that type T is expected to have a constructor
+ with a corresponding set of parameter types.).
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">construct</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)</span>
+</pre>
+<p>
+ Constructs a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code> from <code class="computeroutput"><span class="identifier">arg1</span></code>
+ and <code class="computeroutput"><span class="identifier">arg2</span></code>.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The maximum number of actual parameters is limited by the preprocessor
+ constant BOOST_PHOENIX_COMPOSITE_LIMIT. Note though, that this limit
+ should not be greater than BOOST_PHOENIX_LIMIT. By default, <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_COMPOSITE_LIMIT</span></code> is set
+ to <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>
+ (See <a class="link" href="../../actor.html" title="Actor">Actor</a>).
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../object.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="new.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object/delete.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object/delete.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Delete - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../object.html" title="Object">
+<link rel="prev" href="new.html" title="New">
+<link rel="next" href="casts.html" title="Casts">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="new.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="casts.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.object.delete"></a><a class="link" href="delete.html" title="Delete">Delete</a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong><span class="emphasis"><em>Lazy delete...</em></span></strong></span>
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">/</span><span class="keyword">delete</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Lazily delete an object, from the heap:
+ </p>
+<pre class="programlisting"><span class="identifier">delete_</span><span class="special">(</span><span class="identifier">arg</span><span class="special">);</span>
+</pre>
+<p>
+ where arg is assumed to be a pointer to an object.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">delete_</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">arg1</span><span class="special">)</span> <span class="comment">// note the spelling of delete_ (with trailing underscore)</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="new.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="casts.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object/new.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/object/new.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>New - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../object.html" title="Object">
+<link rel="prev" href="construction.html" title="Construction">
+<link rel="next" href="delete.html" title="Delete">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="construction.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="delete.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.object.new"></a><a class="link" href="new.html" title="New">New</a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong><span class="emphasis"><em>Lazy new...</em></span></strong></span>
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">/</span><span class="keyword">new</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Lazily construct an object, on the heap, from an arbitrary set of arguments:
+ </p>
+<pre class="programlisting"><span class="identifier">new_</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">ctor_arg1</span><span class="special">,</span> <span class="identifier">ctor_arg2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">ctor_argN</span><span class="special">);</span>
+</pre>
+<p>
+ where the given parameters are the parameters to the contractor of the
+ object of type T (This implies, that type T is expected to have a constructor
+ with a corresponding set of parameter types.).
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">new_</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="comment">// note the spelling of new_ (with trailing underscore)</span>
+</pre>
+<p>
+ Creates a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code> from <code class="computeroutput"><span class="identifier">arg1</span></code>
+ and <code class="computeroutput"><span class="identifier">arg2</span></code> on the heap.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The maximum number of actual parameters is limited by the preprocessor
+ constant BOOST_PHOENIX_COMPOSITE_LIMIT. Note though, that this limit
+ should not be greater than BOOST_PHOENIX_LIMIT. By default, <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_COMPOSITE_LIMIT</span></code> is set
+ to <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>
+ (See <a class="link" href="../../actor.html" title="Actor">Actor</a>).
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construction.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="delete.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/operator.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/operator.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,383 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Operator - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../modules.html" title="Modules">
+<link rel="prev" href="function/adapting_functions.html" title="Adapting Functions">
+<link rel="next" href="statement.html" title="Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<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">
+<a name="phoenix.modules.operator"></a><a class="link" href="operator.html" title="Operator">Operator</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ This facility provides a mechanism for lazily evaluating operators. Syntactically,
+ a lazy operator looks and feels like an ordinary C/C++ infix, prefix or postfix
+ operator. The operator application looks the same. However, unlike ordinary
+ operators, the actual operator execution is deferred. Samples:
+ </p>
+<pre class="programlisting"><span class="identifier">arg1</span> <span class="special">+</span> <span class="identifier">arg2</span>
+<span class="number">1</span> <span class="special">+</span> <span class="identifier">arg1</span> <span class="special">*</span> <span class="identifier">arg2</span>
+<span class="number">1</span> <span class="special">/</span> <span class="special">-</span><span class="identifier">arg1</span>
+<span class="identifier">arg1</span> <span class="special">&lt;</span> <span class="number">150</span>
+</pre>
+<p>
+ We have seen the lazy operators in action (see <a class="link" href="../starter_kit/lazy_operators.html" title="Lazy Operators">Quick
+ Start - Lazy Operators</a>). Let's go back and examine them a little bit
+ further:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)</span>
+</pre>
+<p>
+ Through operator overloading, the expression <code class="computeroutput"><span class="identifier">arg1</span>
+ <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span></code> actually
+ generates an actor. This actor object is passed on to STL's <code class="computeroutput"><span class="identifier">find_if</span></code> function. From the viewpoint of
+ STL, the expression is simply a function object expecting a single argument
+ of the containers value_type. For each element in <code class="computeroutput"><span class="identifier">c</span></code>,
+ the element is passed on as an argument <code class="computeroutput"><span class="identifier">arg1</span></code>
+ to the actor (function object). The actor checks if this is an odd value
+ based on the expression <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span>
+ <span class="number">1</span></code> where arg1 is replaced by the container's
+ element.
+ </p>
+<p>
+ Like lazy functions (see <a class="link" href="function.html" title="Function">Function</a>),
+ lazy operators are not immediately executed when invoked. Instead, an actor
+ (see <a class="link" href="../actor.html" title="Actor">Actor</a>) object is created and returned
+ to the caller. Example:
+ </p>
+<pre class="programlisting"><span class="special">(</span><span class="identifier">arg1</span> <span class="special">+</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">arg3</span>
+</pre>
+<p>
+ does nothing more than return an actor. A second function call will evaluate
+ the actual operators. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">((</span><span class="identifier">arg1</span> <span class="special">+</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">arg3</span><span class="special">)(</span><span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span><span class="special">);</span>
+</pre>
+<p>
+ will print out "54".
+ </p>
+<p>
+ Operator expressions are lazily evaluated following four simple rules:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ A binary operator, except <code class="computeroutput"><span class="special">-&gt;*</span></code>
+ will be lazily evaluated when <span class="emphasis"><em>at least</em></span> one of its
+ operands is an actor object (see <a class="link" href="../actor.html" title="Actor">Actor</a>).
+ </li>
+<li class="listitem">
+ Unary operators are lazily evaluated if their argument is an actor object.
+ </li>
+<li class="listitem">
+ Operator <code class="computeroutput"><span class="special">-&gt;*</span></code> is lazily
+ evaluated if the left hand argument is an actor object.
+ </li>
+<li class="listitem">
+ The result of a lazy operator is an actor object that can in turn allow
+ the applications of rules 1, 2 and 3.
+ </li>
+</ol></div>
+<p>
+ For example, to check the following expression is lazily evaluated:
+ </p>
+<pre class="programlisting"><span class="special">-(</span><span class="identifier">arg1</span> <span class="special">+</span> <span class="number">3</span> <span class="special">+</span> <span class="number">6</span><span class="special">)</span>
+</pre>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Following rule 1, <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">+</span> <span class="number">3</span></code> is
+ lazily evaluated since <code class="computeroutput"><span class="identifier">arg1</span></code>
+ is an actor (see <a class="link" href="core/arguments.html" title="Arguments">Arguments</a>).
+ </li>
+<li class="listitem">
+ The result of this <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">+</span> <span class="number">3</span></code> expression
+ is an actor object, following rule 4.
+ </li>
+<li class="listitem">
+ Continuing, <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">+</span>
+ <span class="number">3</span> <span class="special">+</span> <span class="number">6</span></code> is again lazily evaluated. Rule 2.
+ </li>
+<li class="listitem">
+ By rule 4 again, the result of <code class="computeroutput"><span class="identifier">arg1</span>
+ <span class="special">+</span> <span class="number">3</span> <span class="special">+</span> <span class="number">6</span></code> is
+ an actor object.
+ </li>
+<li class="listitem">
+ As <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">+</span>
+ <span class="number">3</span> <span class="special">+</span> <span class="number">6</span></code> is an actor, <code class="computeroutput"><span class="special">-(</span><span class="identifier">arg1</span> <span class="special">+</span> <span class="number">3</span> <span class="special">+</span> <span class="number">6</span><span class="special">)</span></code> is lazily evaluated. Rule 2.
+ </li>
+</ol></div>
+<p>
+ Lazy-operator application is highly contagious. In most cases, a single
+ <code class="computeroutput"><span class="identifier">argN</span></code> actor infects all its
+ immediate neighbors within a group (first level or parenthesized expression).
+ </p>
+<p>
+ Note that at least one operand of any operator must be a valid actor for
+ lazy evaluation to take effect. To force lazy evaluation of an ordinary expression,
+ we can use <code class="computeroutput"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>, <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> or <code class="computeroutput"><span class="identifier">cref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ to transform an operand into a valid actor object (see <a class="link" href="core.html" title="Core">Core</a>).
+ For example:
+ </p>
+<pre class="programlisting"><span class="number">1</span> <span class="special">&lt;&lt;</span> <span class="number">3</span><span class="special">;</span> <span class="comment">// Immediately evaluated</span>
+<span class="identifier">val</span><span class="special">(</span><span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="number">3</span><span class="special">;</span> <span class="comment">// Lazily evaluated</span>
+</pre>
+<h5>
+<a name="phoenix.modules.operator.h0"></a>
+ <span><a name="phoenix.modules.operator.supported_operators"></a></span><a class="link" href="operator.html#phoenix.modules.operator.supported_operators">Supported
+ operators</a>
+ </h5>
+<h5>
+<a name="phoenix.modules.operator.h1"></a>
+ <span><a name="phoenix.modules.operator.unary_operators"></a></span><a class="link" href="operator.html#phoenix.modules.operator.unary_operators">Unary
+ operators</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">prefix</span><span class="special">:</span> <span class="special">~,</span> <span class="special">!,</span> <span class="special">-,</span> <span class="special">+,</span> <span class="special">++,</span> <span class="special">--,</span> <span class="special">&amp;</span> <span class="special">(</span><span class="identifier">reference</span><span class="special">),</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">dereference</span><span class="special">)</span>
+<span class="identifier">postfix</span><span class="special">:</span> <span class="special">++,</span> <span class="special">--</span>
+</pre>
+<h5>
+<a name="phoenix.modules.operator.h2"></a>
+ <span><a name="phoenix.modules.operator.binary_operators"></a></span><a class="link" href="operator.html#phoenix.modules.operator.binary_operators">Binary
+ operators</a>
+ </h5>
+<pre class="programlisting"><span class="special">=,</span> <span class="special">[],</span> <span class="special">+=,</span> <span class="special">-=,</span> <span class="special">*=,</span> <span class="special">/=,</span> <span class="special">%=,</span> <span class="special">&amp;=,</span> <span class="special">|=,</span> <span class="special">^=,</span> <span class="special">&lt;&lt;=,</span> <span class="special">&gt;&gt;=</span>
+<span class="special">+,</span> <span class="special">-,</span> <span class="special">*,</span> <span class="special">/,</span> <span class="special">%,</span> <span class="special">&amp;,</span> <span class="special">|,</span> <span class="special">^,</span> <span class="special">&lt;&lt;,</span> <span class="special">&gt;&gt;</span>
+<span class="special">==,</span> <span class="special">!=,</span> <span class="special">&lt;,</span> <span class="special">&gt;,</span> <span class="special">&lt;=,</span> <span class="special">&gt;=</span>
+<span class="special">&amp;&amp;,</span> <span class="special">||,</span> <span class="special">-&gt;*</span>
+</pre>
+<h5>
+<a name="phoenix.modules.operator.h3"></a>
+ <span><a name="phoenix.modules.operator.ternary_operator"></a></span><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>
+</pre>
+<p>
+ The ternary operator deserves special mention. Since C++ does not allow us
+ to overload the conditional expression: <code class="computeroutput"><span class="identifier">c</span>
+ <span class="special">?</span> <span class="identifier">a</span> <span class="special">:</span> <span class="identifier">b</span></code>, the
+ if_else pseudo function is provided for this purpose. The behavior is identical,
+ albeit in a lazy manner.
+ </p>
+<h5>
+<a name="phoenix.modules.operator.h4"></a>
+ <span><a name="phoenix.modules.operator.member_pointer_operator"></a></span><a class="link" href="operator.html#phoenix.modules.operator.member_pointer_operator">Member
+ pointer operator</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">-&gt;*</span><span class="identifier">member_object_pointer</span>
+<span class="identifier">a</span><span class="special">-&gt;*</span><span class="identifier">member_function_pointer</span>
+</pre>
+<p>
+ The left hand side of the member pointer operator must be an actor returning
+ a pointer type. The right hand side of the member pointer operator may be
+ either a pointer to member object or pointer to member function.
+ </p>
+<p>
+ If the right hand side is a member object pointer, the result is an actor
+ which, when evaluated, returns a reference to that member. For example:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span>
+<span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">member</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="identifier">A</span><span class="special">*</span> <span class="identifier">a</span> <span class="special">=</span> <span class="keyword">new</span> <span class="identifier">A</span><span class="special">;</span>
+<span class="special">...</span>
+
+<span class="special">(</span><span class="identifier">arg1</span><span class="special">-&gt;*&amp;</span><span class="identifier">A</span><span class="special">::</span><span class="identifier">member</span><span class="special">)(</span><span class="identifier">a</span><span class="special">);</span> <span class="comment">// returns member a-&gt;member</span>
+</pre>
+<p>
+ If the right hand side is a member function pointer, the result is an actor
+ which, when invoked, calls the specified member function. For example:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span>
+<span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">func</span><span class="special">(</span><span class="keyword">int</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="identifier">A</span><span class="special">*</span> <span class="identifier">a</span> <span class="special">=</span> <span class="keyword">new</span> <span class="identifier">A</span><span class="special">;</span>
+<span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+
+<span class="special">(</span><span class="identifier">arg1</span><span class="special">-&gt;*&amp;</span><span class="identifier">A</span><span class="special">::</span><span class="identifier">func</span><span class="special">)(</span><span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">i</span><span class="special">);</span> <span class="comment">// returns a-&gt;func(i)</span>
+</pre>
+<h5>
+<a name="phoenix.modules.operator.h5"></a>
+ <span><a name="phoenix.modules.operator.include_files"></a></span><a class="link" href="operator.html#phoenix.modules.operator.include_files">Include
+ Files</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Operators
+ </p>
+ </th>
+<th>
+ <p>
+ File
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">-</span></code>, <code class="computeroutput"><span class="special">+</span></code>,
+ <code class="computeroutput"><span class="special">++</span></code>, <code class="computeroutput"><span class="special">--</span></code>, <code class="computeroutput"><span class="special">+=</span></code>,
+ <code class="computeroutput"><span class="special">-=</span></code>, <code class="computeroutput"><span class="special">*=</span></code>, <code class="computeroutput"><span class="special">/=</span></code>,
+ <code class="computeroutput"><span class="special">%=</span></code>, <code class="computeroutput"><span class="special">*</span></code>, <code class="computeroutput"><span class="special">/</span></code>,
+ <code class="computeroutput"><span class="special">%</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">arithmetic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">&amp;=</span></code>, <code class="computeroutput"><span class="special">|=</span></code>, <code class="computeroutput"><span class="special">^=</span></code>,
+ <code class="computeroutput"><span class="special">&lt;&lt;=</span></code>, <code class="computeroutput"><span class="special">&gt;&gt;=</span></code>, <code class="computeroutput"><span class="special">&amp;</span></code>,
+ <code class="computeroutput"><span class="special">|</span></code>, <code class="computeroutput"><span class="special">^</span></code>,
+ <code class="computeroutput"><span class="special">&lt;&lt;</span></code>, <code class="computeroutput"><span class="special">&gt;&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">bitwise</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">==</span></code>, <code class="computeroutput"><span class="special">!=</span></code>, <code class="computeroutput"><span class="special">&lt;</span></code>,
+ <code class="computeroutput"><span class="special">&lt;=</span></code>, <code class="computeroutput"><span class="special">&gt;</span></code>, <code class="computeroutput"><span class="special">&gt;=</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">&lt;&lt;</span></code>, <code class="computeroutput"><span class="special">&gt;&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">io</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">!</span></code>, &amp;&amp;, <code class="computeroutput"><span class="special">||</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">logical</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">&amp;</span><span class="identifier">x</span></code>,
+ <code class="computeroutput"><span class="special">*</span><span class="identifier">p</span></code>,
+ <code class="computeroutput"><span class="special">=</span></code>, <code class="computeroutput"><span class="special">[]</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">self</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><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></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">if_else</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">-&gt;*</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">member</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="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>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/scope.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/scope.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Scope - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../modules.html" title="Modules">
+<link rel="prev" href="object/casts.html" title="Casts">
+<link rel="next" href="scope/local_variables.html" title="Local Variables">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="object/casts.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="scope/local_variables.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.scope"></a><a class="link" href="scope.html" title="Scope">Scope</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Local Variables</span></dt>
+<dt><span class="section">let</span></dt>
+<dt><span class="section">lambda</span></dt>
+</dl></div>
+<p>
+ Up until now, the most basic ingredient is missing: creation of and access
+ to local variables in the stack. When recursion comes into play, you will
+ soon realize the need to have true local variables. It may seem that we do
+ not need this at all since an unnamed lambda function cannot call itself
+ anyway; at least not directly. With some sort of arrangement, situations
+ will arise where a lambda function becomes recursive. A typical situation
+ occurs when we store a lambda function in a Boost.Function,
+ essentially naming the unnamed lambda.
+ </p>
+<p>
+ There will also be situations where a lambda function gets passed as an argument
+ to another function. This is a more common situation. In this case, the lambda
+ function assumes a new scope; new arguments and possibly new local variables.
+ </p>
+<p>
+ This section deals with local variables and nested lambda scopes.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="object/casts.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="scope/local_variables.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/scope/lambda.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/scope/lambda.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,209 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>lambda - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../scope.html" title="Scope">
+<link rel="prev" href="let.html" title="let">
+<link rel="next" href="../bind.html" title="Bind">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="let.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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.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.scope.lambda"></a><a class="link" href="lambda.html" title="lambda">lambda</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">scope</span><span class="special">/</span><span class="identifier">lambda</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ A lot of times, you'd want to write a lazy function that accepts one or
+ more functions (higher order functions). STL algorithms come to mind, for
+ example. Consider a lazy version of <code class="computeroutput"><span class="identifier">stl</span><span class="special">::</span><span class="identifier">for_each</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">for_each_impl</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">f</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">for_each_impl</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="identifier">for_each</span> <span class="special">=</span> <span class="identifier">for_each_impl</span><span class="special">();</span>
+</pre>
+<p>
+ Notice that the function accepts another function, <code class="computeroutput"><span class="identifier">f</span></code>
+ as an argument. The scope of this function, <code class="computeroutput"><span class="identifier">f</span></code>,
+ is limited within the <code class="computeroutput"><span class="keyword">operator</span><span class="special">()</span></code>. When <code class="computeroutput"><span class="identifier">f</span></code>
+ is called inside <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span></code>, it exists in a new scope, along
+ with new arguments and, possibly, local variables. This new scope is not
+ at all related to the outer scopes beyond the <code class="computeroutput"><span class="keyword">operator</span><span class="special">()</span></code>.
+ </p>
+<p>
+ Simple syntax:
+ </p>
+<pre class="programlisting"><span class="identifier">lambda</span>
+<span class="special">[</span>
+ <span class="identifier">lambda</span><span class="special">-</span><span class="identifier">body</span>
+<span class="special">]</span>
+</pre>
+<p>
+ Like <code class="computeroutput"><span class="identifier">let</span></code>, local variables
+ may be declared, allowing 1..N local variable declarations (where N ==
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LOCAL_LIMIT</span></code>):
+ </p>
+<pre class="programlisting"><span class="identifier">lambda</span><span class="special">(</span><span class="identifier">local</span><span class="special">-</span><span class="identifier">declarations</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">lambda</span><span class="special">-</span><span class="identifier">body</span>
+<span class="special">]</span>
+</pre>
+<p>
+ The same restrictions apply with regard to scope and visibility. The RHS
+ (right hand side lambda-expression) of each local-declaration cannot refer
+ to any LHS local-id. The local-ids are not in scope yet; they will be in
+ scope only in the lambda-body:
+ </p>
+<pre class="programlisting"><span class="identifier">lambda</span><span class="special">(</span>
+ <span class="identifier">_a</span> <span class="special">=</span> <span class="number">1</span>
+ <span class="special">,</span> <span class="identifier">_b</span> <span class="special">=</span> <span class="identifier">_a</span> <span class="comment">// Error: _a is not in scope yet</span>
+<span class="special">)</span>
+</pre>
+<p>
+ See <a class="link" href="let.html#phoenix.modules.scope.let.visibility"><code class="computeroutput"><span class="identifier">let</span></code> Visibility</a> for more information.
+ </p>
+<p>
+ Example: Using our lazy <code class="computeroutput"><span class="identifier">for_each</span></code>
+ let's print all the elements in a container:
+ </p>
+<pre class="programlisting"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">[</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span><span class="special">])</span>
+</pre>
+<p>
+ As far as the arguments are concerned (arg1..argN), the scope in which
+ the lambda-body exists is totally new. The left <code class="computeroutput"><span class="identifier">arg1</span></code>
+ refers to the argument passed to <code class="computeroutput"><span class="identifier">for_each</span></code>
+ (a container). The right <code class="computeroutput"><span class="identifier">arg1</span></code>
+ refers to the argument passed by <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span></code>
+ when we finally get to call <code class="computeroutput"><span class="keyword">operator</span><span class="special">()</span></code> in our <code class="computeroutput"><span class="identifier">for_each_impl</span></code>
+ above (a container element).
+ </p>
+<p>
+ Yet, we may wish to get information from outer scopes. While we do not
+ have access to arguments in outer scopes, what we still have is access
+ to local variables from outer scopes. We may only be able to pass argument
+ related information from outer <code class="computeroutput"><span class="identifier">lambda</span></code>
+ scopes through the local variables.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ This is a crucial difference between <code class="computeroutput"><span class="identifier">let</span></code>
+ and <code class="computeroutput"><span class="identifier">lambda</span></code>: <code class="computeroutput"><span class="identifier">let</span></code> does not introduce new arguments;
+ <code class="computeroutput"><span class="identifier">lambda</span></code> does.
+ </p></td></tr>
+</table></div>
+<p>
+ Another example: Using our lazy <code class="computeroutput"><span class="identifier">for_each</span></code>,
+ and a lazy <code class="computeroutput"><span class="identifier">push_back</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">push_back_impl</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="identifier">c</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">push_back_impl</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="identifier">push_back</span> <span class="special">=</span> <span class="identifier">push_back_impl</span><span class="special">();</span>
+</pre>
+<p>
+ write a lambda expression that accepts:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ a 2-dimensional container (e.g. <code class="computeroutput"><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="special">&gt;</span></code>)
+ </li>
+<li class="listitem">
+ a container element (e.g. <code class="computeroutput"><span class="keyword">int</span></code>)
+ </li>
+</ol></div>
+<p>
+ and pushes-back the element to each of the <code class="computeroutput"><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code>.
+ </p>
+<p>
+ Solution:
+ </p>
+<pre class="programlisting"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span>
+ <span class="identifier">lambda</span><span class="special">(</span><span class="identifier">_a</span> <span class="special">=</span> <span class="identifier">arg2</span><span class="special">)</span>
+ <span class="special">[</span>
+ <span class="identifier">push_back</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">_a</span><span class="special">)</span>
+ <span class="special">]</span>
+<span class="special">)</span>
+</pre>
+<p>
+ Since we do not have access to the arguments of the outer scopes beyond
+ the lambda-body, we introduce a local variable <code class="computeroutput"><span class="identifier">_a</span></code>
+ that captures the second outer argument: <code class="computeroutput"><span class="identifier">arg2</span></code>.
+ Hence: _a = arg2. This local variable is visible inside the lambda scope.
+ </p>
+<p>
+ (See lambda.cpp)
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="let.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/scope/let.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/scope/let.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,197 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>let - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../scope.html" title="Scope">
+<link rel="prev" href="local_variables.html" title="Local Variables">
+<link rel="next" href="lambda.html" title="lambda">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="local_variables.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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="lambda.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.scope.let"></a><a class="link" href="let.html" title="let">let</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">scope</span><span class="special">/</span><span class="identifier">let</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ You declare local variables using the syntax:
+ </p>
+<pre class="programlisting"><span class="identifier">let</span><span class="special">(</span><span class="identifier">local</span><span class="special">-</span><span class="identifier">declarations</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">let</span><span class="special">-</span><span class="identifier">body</span>
+<span class="special">]</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">let</span></code> allows 1..N local variable
+ declarations (where N == <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LOCAL_LIMIT</span></code>).
+ Each declaration follows the form:
+ </p>
+<pre class="programlisting"><span class="identifier">local</span><span class="special">-</span><span class="identifier">id</span> <span class="special">=</span> <span class="identifier">lambda</span><span class="special">-</span><span class="identifier">expression</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You can set <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LOCAL_LIMIT</span></code>,
+ the predefined maximum local variable declarations in a let expression.
+ By default, <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LOCAL_LIMIT</span></code>
+ is set to <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>.
+ </p></td></tr>
+</table></div>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">let</span><span class="special">(</span><span class="identifier">_a</span> <span class="special">=</span> <span class="number">123</span><span class="special">,</span> <span class="identifier">_b</span> <span class="special">=</span> <span class="number">456</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">_a</span> <span class="special">+</span> <span class="identifier">_b</span>
+<span class="special">]</span>
+</pre>
+<p>
+ <span class="bold"><strong>Reference Preservation</strong></span>
+ </p>
+<p>
+ The type of the local variable assumes the type of the lambda- expression.
+ Type deduction is reference preserving. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">let</span><span class="special">(</span><span class="identifier">_a</span> <span class="special">=</span> <span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">_b</span> <span class="special">=</span> <span class="number">456</span><span class="special">)</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">_a</span></code> assumes the type of
+ <code class="computeroutput"><span class="identifier">arg1</span></code>: a reference to an
+ argument, while <code class="computeroutput"><span class="identifier">_b</span></code> has
+ type <code class="computeroutput"><span class="keyword">int</span></code>.
+ </p>
+<p>
+ Consider this:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span>
+
+<span class="identifier">let</span><span class="special">(</span><span class="identifier">_a</span> <span class="special">=</span> <span class="identifier">arg1</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">--</span><span class="identifier">_a</span> <span class="special">&lt;&lt;</span> <span class="char">' '</span>
+<span class="special">]</span>
+<span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ the output of above is : 0 0
+ </p>
+<p>
+ While with this:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span>
+
+<span class="identifier">let</span><span class="special">(</span><span class="identifier">_a</span> <span class="special">=</span> <span class="identifier">val</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">))</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">--</span><span class="identifier">_a</span> <span class="special">&lt;&lt;</span> <span class="char">' '</span>
+<span class="special">]</span>
+<span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ the output is : 0 1
+ </p>
+<p>
+ Reference preservation is necessary because we need to have L-value access
+ to outer lambda-scopes (especially the arguments). <code class="computeroutput"><span class="identifier">arg</span></code>s
+ and <code class="computeroutput"><span class="identifier">ref</span></code>s are L-values.
+ <code class="computeroutput"><span class="identifier">val</span></code>s are R-values.
+ </p>
+<p>
+ <span class="bold"><strong>Visibility</strong></span> <a name="phoenix.modules.scope.let.visibility"></a>
+ </p>
+<p>
+ The scope and lifetimes of the local variables is limited within the let-body.
+ <code class="computeroutput"><span class="identifier">let</span></code> blocks can be nested.
+ A local variable may hide an outer local variable. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">let</span><span class="special">(</span><span class="identifier">_x</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="string">", World"</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="comment">// _x here is an int: 1</span>
+
+ <span class="identifier">let</span><span class="special">(</span><span class="identifier">_x</span> <span class="special">=</span> <span class="string">"Hello"</span><span class="special">)</span> <span class="comment">// hides the outer _x</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">_x</span> <span class="special">&lt;&lt;</span> <span class="identifier">_y</span> <span class="comment">// prints "Hello, World"</span>
+ <span class="special">]</span>
+<span class="special">]</span>
+</pre>
+<p>
+ The RHS (right hand side lambda-expression) of each local-declaration cannot
+ refer to any LHS local-id. At this point, the local-ids are not in scope
+ yet; they will only be in scope in the let-body. The code below is in error:
+ </p>
+<pre class="programlisting"><span class="identifier">let</span><span class="special">(</span>
+ <span class="identifier">_a</span> <span class="special">=</span> <span class="number">1</span>
+ <span class="special">,</span> <span class="identifier">_b</span> <span class="special">=</span> <span class="identifier">_a</span> <span class="comment">// Error: _a is not in scope yet</span>
+<span class="special">)</span>
+<span class="special">[</span>
+ <span class="comment">// _a and _b's scope starts here</span>
+ <span class="comment">/*. body .*/</span>
+<span class="special">]</span>
+</pre>
+<p>
+ However, if an outer let scope is available, this will be searched. Since
+ the scope of the RHS of a local-declaration is the outer scope enclosing
+ the let, the RHS of a local-declaration can refer to a local variable of
+ an outer scope:
+ </p>
+<pre class="programlisting"><span class="identifier">let</span><span class="special">(</span><span class="identifier">_a</span> <span class="special">=</span> <span class="number">1</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">let</span><span class="special">(</span>
+ <span class="identifier">_a</span> <span class="special">=</span> <span class="number">1</span>
+ <span class="special">,</span> <span class="identifier">_b</span> <span class="special">=</span> <span class="identifier">_a</span> <span class="comment">// Ok. _a refers to the outer _a</span>
+ <span class="special">)</span>
+ <span class="special">[</span>
+ <span class="comment">/*. body .*/</span>
+ <span class="special">]</span>
+<span class="special">]</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_variables.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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="lambda.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/scope/local_variables.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/scope/local_variables.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Local Variables - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../scope.html" title="Scope">
+<link rel="prev" href="../scope.html" title="Scope">
+<link rel="next" href="let.html" title="let">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../scope.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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="let.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.scope.local_variables"></a><a class="link" href="local_variables.html" title="Local Variables">Local Variables</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">scope</span><span class="special">/</span><span class="identifier">local_variable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ We use an instance of:
+ </p>
+<pre class="programlisting"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">local_variable</span><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span>
+</pre>
+<p>
+ to represent a local variable. The local variable acts as an imaginary
+ data-bin where a local, stack based data will be placed. <code class="computeroutput"><span class="identifier">Key</span></code> is an arbitrary type that is used
+ to identify the local variable. Example:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">size_key</span><span class="special">;</span>
+<span class="identifier">expression</span><span class="special">::</span><span class="identifier">local_variable</span><span class="special">&lt;</span><span class="identifier">size_key</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">size</span><span class="special">;</span>
+</pre>
+<p>
+ <span class="bold"><strong>Predefined Local Variables</strong></span>
+ </p>
+<p>
+ There are a few predefined instances of <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">local_variable</span><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ named <code class="computeroutput"><span class="identifier">_a</span></code>..<code class="computeroutput"><span class="identifier">_z</span></code> that you can already use. To make
+ use of them, simply use the <code class="computeroutput"><span class="keyword">namespace</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">local_names</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">local_names</span><span class="special">;</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../scope.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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="let.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,129 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Statement - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../modules.html" title="Modules">
+<link rel="prev" href="operator.html" title="Operator">
+<link rel="next" href="statement/block_statement.html" title="Block Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="operator.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/block_statement.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.statement"></a><a class="link" href="statement.html" title="Statement">Statement</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Block Statement</span></dt>
+<dt><span class="section">if_ Statement</span></dt>
+<dt><span class="section">if_else_ Statement</span></dt>
+<dt><span class="section"><a href="statement/switch__statement.html">switch_
+ Statement</a></span></dt>
+<dt><span class="section"><a href="statement/while__statement.html">while_
+ Statement</a></span></dt>
+<dt><span class="section">do_while_ Statement</span></dt>
+<dt><span class="section">for_ Statement</span></dt>
+<dt><span class="section"><a href="statement/try__catch__statement.html">try_
+ catch_ Statement</a></span></dt>
+<dt><span class="section">throw_</span></dt>
+</dl></div>
+<p>
+ <span class="bold"><strong><span class="emphasis"><em>Lazy statements...</em></span></strong></span>
+ </p>
+<p>
+ The expressions presented so far are sufficiently powerful to construct quite
+ elaborate structures. We have presented lazy-functions and lazy-operators.
+ How about lazy-statements? First, an appetizer:
+ </p>
+<p>
+ Print all odd-numbered contents of an STL container using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span></code>
+ (all_odds.cpp):
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">if_</span><span class="special">(</span><span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="char">' '</span>
+ <span class="special">]</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Huh? Is that valid C++? Read on...
+ </p>
+<p>
+ Yes, it is valid C++. The sample code above is as close as you can get to
+ the syntax of C++. This stylized C++ syntax differs from actual C++ code.
+ First, the <code class="computeroutput"><span class="keyword">if</span></code> has a trailing
+ underscore. Second, the block uses square brackets instead of the familiar
+ curly braces {}.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ <span class="bold"><strong>C++ in C++?</strong></span>
+ </p>
+<p>
+ In as much as Spirit
+ attempts to mimic EBNF in C++, Phoenix attempts to mimic C++ in C++!!!
+ </p>
+</td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Unlike lazy functions and lazy operators, lazy statements always return
+ void.
+ </p></td></tr>
+</table></div>
+<p>
+ Here are more examples with annotations. The code almost speaks for itself.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator.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/block_statement.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/___do_while_____statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/___do_while_____statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>do_while_ Statement - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="while__statement.html" title="while_ Statement">
+<link rel="next" href="for_statement.html" title="for_ Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="while__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="for_statement.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.statement.___do_while_____statement"></a><a class="link" href="___do_while_____statement.html" title="do_while_ Statement">do_while_ Statement</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="identifier">do_while</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The syntax is:
+ </p>
+<pre class="programlisting"><span class="identifier">do_</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">while_</span><span class="special">(</span><span class="identifier">conditional_expression</span><span class="special">)</span>
+</pre>
+<p>
+ Again, take note that <code class="computeroutput"><span class="keyword">while</span></code>
+ has a leading dot and a trailing underscore: <code class="computeroutput"><span class="special">.</span><span class="identifier">while_</span></code>
+ </p>
+<p>
+ Example: This code is almost the same as the previous example above with
+ a slight twist in logic.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="special">(</span>
+ <span class="identifier">do_</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span>
+ <span class="special">]</span>
+ <span class="special">.</span><span class="identifier">while_</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">--),</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"\n"</span><span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="while__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="for_statement.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/___if_else_____statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/___if_else_____statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>if_else_ Statement - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="if__statement.html" title="if_ Statement">
+<link rel="next" href="switch__statement.html" title="switch_ Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="if__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="switch__statement.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.statement.___if_else_____statement"></a><a class="link" href="___if_else_____statement.html" title="if_else_ Statement">if_else_ Statement</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="keyword">if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The syntax is
+ </p>
+<pre class="programlisting"><span class="identifier">if_</span><span class="special">(</span><span class="identifier">conditional_expression</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">else_</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+</pre>
+<p>
+ Take note that <code class="computeroutput"><span class="keyword">else</span></code> has a
+ leading dot and a trailing underscore: <code class="computeroutput"><span class="special">.</span><span class="identifier">else_</span></code>
+ </p>
+<p>
+ Example: This code prints out all the elements and appends <code class="computeroutput"><span class="string">" &gt; 5"</span></code>, <code class="computeroutput"><span class="string">"
+ == 5"</span></code> or <code class="computeroutput"><span class="string">" &lt; 5"</span></code>
+ depending on the element's actual value:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">if_</span><span class="special">(</span><span class="identifier">arg1</span> <span class="special">&gt;</span> <span class="number">5</span><span class="special">)</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">" &gt; 5\n"</span>
+ <span class="special">]</span>
+ <span class="special">.</span><span class="identifier">else_</span>
+ <span class="special">[</span>
+ <span class="identifier">if_</span><span class="special">(</span><span class="identifier">arg1</span> <span class="special">==</span> <span class="number">5</span><span class="special">)</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">" == 5\n"</span>
+ <span class="special">]</span>
+ <span class="special">.</span><span class="identifier">else_</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">" &lt; 5\n"</span>
+ <span class="special">]</span>
+ <span class="special">]</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Notice how the <code class="computeroutput"><span class="identifier">if_else_</span></code>
+ statement is nested.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="if__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="switch__statement.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/block_statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/block_statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Block Statement - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="../statement.html" title="Statement">
+<link rel="next" href="if__statement.html" title="if_ Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="if__statement.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.statement.block_statement"></a><a class="link" href="block_statement.html" title="Block Statement">Block Statement</a>
+</h4></div></div></div>
+<p>
+ Syntax:
+ </p>
+<pre class="programlisting"><span class="identifier">statement</span><span class="special">,</span>
+<span class="identifier">statement</span><span class="special">,</span>
+<span class="special">....</span>
+<span class="identifier">statement</span>
+</pre>
+<p>
+ Basically, these are comma separated statements. Take note that unlike
+ the C/C++ semicolon, the comma is a separator put <span class="bold"><strong>in-between</strong></span>
+ statements. This is like Pascal's semicolon separator, rather than C/C++'s
+ semicolon terminator. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">statement</span><span class="special">,</span>
+<span class="identifier">statement</span><span class="special">,</span>
+<span class="identifier">statement</span><span class="special">,</span> <span class="comment">// ERROR!</span>
+</pre>
+<p>
+ Is an error. The last statement should not have a comma. Block statements
+ can be grouped using the parentheses. Again, the last statement in a group
+ should not have a trailing comma.
+ </p>
+<pre class="programlisting"><span class="identifier">statement</span><span class="special">,</span>
+<span class="identifier">statement</span><span class="special">,</span>
+<span class="special">(</span>
+ <span class="identifier">statement</span><span class="special">,</span>
+ <span class="identifier">statement</span>
+<span class="special">),</span>
+<span class="identifier">statement</span>
+</pre>
+<p>
+ Outside the square brackets, block statements should be grouped. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="special">(</span>
+ <span class="identifier">do_this</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">),</span>
+ <span class="identifier">do_that</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Wrapping a comma operator chain around a parentheses pair blocks the interpretation
+ as an argument separator. The reason for the exception for the square bracket
+ operator is that the operator always takes exactly one argument, so it
+ "transforms" any attempt at multiple arguments with a comma operator
+ chain (and spits out an error for zero arguments).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="if__statement.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/for_statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/for_statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>for_ Statement - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="___do_while_____statement.html" title="do_while_ Statement">
+<link rel="next" href="try__catch__statement.html" title="try_ catch_ Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="___do_while_____statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="try__catch__statement.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.statement.for_statement"></a><a class="link" href="for_statement.html" title="for_ Statement">for_ Statement</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="keyword">for</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The syntax is:
+ </p>
+<pre class="programlisting"><span class="identifier">for_</span><span class="special">(</span><span class="identifier">init_statement</span><span class="special">,</span> <span class="identifier">conditional_expression</span><span class="special">,</span> <span class="identifier">step_statement</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+</pre>
+<p>
+ It is again very similar to the C++ for statement. Take note that the init_statement,
+ conditional_expression and step_statement are separated by the comma instead of the semi-colon
+ and each must be present (i.e. <code class="computeroutput"><span class="identifier">for_</span><span class="special">(,,)</span></code> is invalid). This is a case where the
+ <a class="link" href="../core/nothing.html" title="Nothing"><code class="computeroutput"><span class="identifier">nothing</span></code></a>
+ actor can be useful.
+ </p>
+<p>
+ Example: This code prints each element N times where N is the element's
+ value. A newline terminates the printout of each value.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">iii</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="special">(</span>
+ <span class="identifier">for_</span><span class="special">(</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">iii</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">iii</span><span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">arg1</span><span class="special">,</span> <span class="special">++</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">iii</span><span class="special">))</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span>
+ <span class="special">],</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"\n"</span><span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ As before, all these are lazily evaluated. The result of such statements
+ are in fact expressions that are passed on to STL's for_each function.
+ In the viewpoint of <code class="computeroutput"><span class="identifier">for_each</span></code>,
+ what was passed is just a functor, no more, no less.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="___do_while_____statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="try__catch__statement.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/if__statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/if__statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>if_ Statement - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="block_statement.html" title="Block Statement">
+<link rel="next" href="___if_else_____statement.html" title="if_else_ Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="block_statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="___if_else_____statement.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.statement.if__statement"></a><a class="link" href="if__statement.html" title="if_ Statement">if_ Statement</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="keyword">if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ We have seen the <code class="computeroutput"><span class="identifier">if_</span></code> statement.
+ The syntax is:
+ </p>
+<pre class="programlisting"><span class="identifier">if_</span><span class="special">(</span><span class="identifier">conditional_expression</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="block_statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="___if_else_____statement.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/switch__statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/switch__statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>switch_ Statement - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="___if_else_____statement.html" title="if_else_ Statement">
+<link rel="next" href="while__statement.html" title="while_ Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="___if_else_____statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="while__statement.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.statement.switch__statement"></a><a class="link" href="switch__statement.html" title="switch_ Statement">switch_
+ Statement</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="keyword">switch</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The syntax is:
+ </p>
+<pre class="programlisting"><span class="identifier">switch_</span><span class="special">(</span><span class="identifier">integral_expression</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">case_</span><span class="special">&lt;</span><span class="identifier">integral_value</span><span class="special">&gt;(</span><span class="identifier">sequenced_statements</span><span class="special">),</span>
+ <span class="special">...</span>
+ <span class="identifier">default_</span><span class="special">&lt;</span><span class="identifier">integral_value</span><span class="special">&gt;(</span><span class="identifier">sequenced_statements</span><span class="special">)</span>
+<span class="special">]</span>
+</pre>
+<p>
+ A comma separated list of cases, and an optional default can be provided.
+ Note unlike a normal switch statement, cases do not fall through.
+ </p>
+<p>
+ Example: This code prints out <code class="computeroutput"><span class="string">"one"</span></code>,
+ <code class="computeroutput"><span class="string">"two"</span></code> or <code class="computeroutput"><span class="string">"other value"</span></code> depending on the
+ element's actual value:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">switch_</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span>
+ <span class="special">[</span>
+ <span class="identifier">case_</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"one"</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">),</span>
+ <span class="identifier">case_</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"two"</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">),</span>
+ <span class="identifier">default_</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"other value"</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">)</span>
+ <span class="special">]</span>
+<span class="special">);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="___if_else_____statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="while__statement.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/throw_.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/throw_.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>throw_ - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="try__catch__statement.html" title="try_ catch_ Statement">
+<link rel="next" href="../object.html" title="Object">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="try__catch__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="../object.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.statement.throw_"></a><a class="link" href="throw_.html" title="throw_">throw_</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="keyword">throw</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ As a natural companion to the try/catch support, the statement module provides
+ lazy throwing and re-throwing of exceptions.
+ </p>
+<p>
+ The syntax to throw an exception is:
+ </p>
+<pre class="programlisting"><span class="identifier">throw_</span><span class="special">(</span><span class="identifier">exception_expression</span><span class="special">)</span>
+</pre>
+<p>
+ The syntax to re-throw an exception is:
+ </p>
+<pre class="programlisting"><span class="identifier">throw_</span><span class="special">()</span>
+</pre>
+<p>
+ Example: This code extends the try/catch example, re-throwing exceptions
+ derived from runtime_error or exception, and translating other exception
+ types to runtime_errors.
+ </p>
+<pre class="programlisting"><span class="identifier">try_</span>
+<span class="special">[</span>
+ <span class="identifier">f</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">runtime_error</span><span class="special">&gt;()</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"caught runtime error or derived\n"</span><span class="special">),</span>
+ <span class="identifier">throw_</span><span class="special">()</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">exception</span><span class="special">&gt;()</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"caught exception or derived\n"</span><span class="special">),</span>
+ <span class="identifier">throw_</span><span class="special">()</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">catch_all</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"caught some other type of exception\n"</span><span class="special">),</span>
+ <span class="identifier">throw_</span><span class="special">(</span><span class="identifier">runtime_error</span><span class="special">(</span><span class="string">"translated exception"</span><span class="special">))</span>
+<span class="special">]</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="try__catch__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="../object.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/try__catch__statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/try__catch__statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>try_ catch_ Statement - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="for_statement.html" title="for_ Statement">
+<link rel="next" href="throw_.html" title="throw_">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="for_statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="throw_.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.statement.try__catch__statement"></a><a class="link" href="try__catch__statement.html" title="try_ catch_ Statement">try_
+ catch_ Statement</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="identifier">try_catch</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The syntax is:
+ </p>
+<pre class="programlisting"><span class="identifier">try_</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">exception_type</span><span class="special">&gt;()</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+<span class="special">...</span>
+<span class="special">.</span><span class="identifier">catch_all</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statement</span>
+<span class="special">]</span>
+</pre>
+<p>
+ Note the usual underscore after try and catch, and the extra parentheses
+ required after the catch.
+ </p>
+<p>
+ Example: The following code calls the (lazy) function <code class="computeroutput"><span class="identifier">f</span></code>
+ for each element, and prints messages about different exception types it
+ catches.
+ </p>
+<pre class="programlisting"><span class="identifier">try_</span>
+<span class="special">[</span>
+ <span class="identifier">f</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">runtime_error</span><span class="special">&gt;()</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"caught runtime error or derived\n"</span><span class="special">)</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">exception</span><span class="special">&gt;()</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"caught exception or derived\n"</span><span class="special">)</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">catch_all</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"caught some other type of exception\n"</span><span class="special">)</span>
+<span class="special">]</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="for_statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="throw_.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/while__statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/statement/while__statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>while_ Statement - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="switch__statement.html" title="switch_ Statement">
+<link rel="next" href="___do_while_____statement.html" title="do_while_ Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="switch__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="___do_while_____statement.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.statement.while__statement"></a><a class="link" href="while__statement.html" title="while_ Statement">while_
+ Statement</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="keyword">while</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The syntax is:
+ </p>
+<pre class="programlisting"><span class="identifier">while_</span><span class="special">(</span><span class="identifier">conditional_expression</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+</pre>
+<p>
+ Example: This code decrements each element until it reaches zero and prints
+ out the number at each step. A newline terminates the printout of each
+ value.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="special">(</span>
+ <span class="identifier">while_</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">--)</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span>
+ <span class="special">],</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"\n"</span><span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="switch__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="___do_while_____statement.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/stl.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/stl.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>STL - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../modules.html" title="Modules">
+<link rel="prev" href="bind/compatibility_with_boost_bind.html" title="Compatibility with Boost.Bind">
+<link rel="next" href="stl/container.html" title="Container">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="bind/compatibility_with_boost_bind.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="stl/container.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.stl"></a><a class="link" href="stl.html" title="STL">STL</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Container</span></dt>
+<dt><span class="section">Algorithm</span></dt>
+</dl></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ This section summarizes the lazy equivalents of C++ Standard Library functionality
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bind/compatibility_with_boost_bind.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="stl/container.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,1156 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Algorithm - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../stl.html" title="STL">
+<link rel="prev" href="container.html" title="Container">
+<link rel="next" href="../../inside.html" title="Inside Phoenix">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="container.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stl.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="../../inside.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.stl.algorithm"></a><a class="link" href="algorithm.html" title="Algorithm">Algorithm</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The algorithm module provides wrappers for the standard algorithms in the
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">algorithm</span><span class="special">&gt;</span></code> and <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">numeric</span><span class="special">&gt;</span></code>
+ headers.
+ </p>
+<p>
+ The algorithms are divided into the categories iteration, transformation
+ and querying, modeling the Boost.MPL
+ library. The different algorithm classes can be included using the headers:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">querying</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The functions of the algorithm module take ranges as arguments where appropriate.
+ This is different to the standard library, but easy enough to pick up.
+ Ranges are described in detail in the Boost.Range
+ library.
+ </p>
+<p>
+ For example, using the standard copy algorithm to copy between 2 arrays:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">array</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">};</span>
+<span class="keyword">int</span> <span class="identifier">output</span><span class="special">[</span><span class="number">3</span><span class="special">];</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span><span class="identifier">array</span><span class="special">,</span> <span class="identifier">array</span> <span class="special">+</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">output</span><span class="special">);</span> <span class="comment">// We have to provide iterators</span>
+ <span class="comment">// to both the start and end of array</span>
+</pre>
+<p>
+ The analogous code using the phoenix algorithm module is:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">array</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">};</span>
+<span class="keyword">int</span> <span class="identifier">output</span><span class="special">[</span><span class="number">3</span><span class="special">];</span>
+<span class="identifier">copy</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">array</span><span class="special">,</span> <span class="identifier">output</span><span class="special">);</span> <span class="comment">// Notice only 2 arguments, the end of</span>
+ <span class="comment">// array is established automatically</span>
+</pre>
+<p>
+ The Boost.Range
+ library provides support for standard containers, strings and arrays, and
+ can be extended to support additional types.
+ </p>
+<p>
+ The following tables describe the different categories of algorithms, and
+ their semantics.
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Arguments in brackets denote optional parameters.
+ </p>
+</div>
+<div class="table">
+<a name="phoenix.modules.stl.algorithm.t0"></a><p class="title"><b>Table&#160;1.6.&#160;Iteration Algorithms</b></p>
+<div class="table-contents"><table class="table" summary="Iteration Algorithms">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ stl Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<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">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">accumulate</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">accumulate</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="phoenix.modules.stl.algorithm.t1"></a><p class="title"><b>Table&#160;1.7.&#160;Querying Algorithms</b></p>
+<div class="table-contents"><table class="table" summary="Querying Algorithms">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ stl Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span>
+ <span class="identifier">r2</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_end</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_first_of</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_first_of</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">adjacent_find</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">adjacent_find</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">count</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">count</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">count_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">count_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">r</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">))</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">mismatch</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">i</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">mismatch</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">i</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">equal</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">i</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">equal</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">i</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">search</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span>
+ <span class="identifier">r2</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">search</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lower_bound</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lower_bound</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">upper_bound</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">upper_bound</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">equal_range</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">equal_range</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">binary_search</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">binary_search</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">includes</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span>
+ <span class="identifier">r2</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">includes</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">min_element</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">min_element</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">max_element</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">max_element</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lexicographical_compare</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lexicographical_compare</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="phoenix.modules.stl.algorithm.t2"></a><p class="title"><b>Table&#160;1.8.&#160;Transformation Algorithms</b></p>
+<div class="table-contents"><table class="table" summary="Transformation Algorithms">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ stl Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">copy_backward</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">copy_backward</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">transform</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">transform</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">transform</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">i</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">transform</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">i</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace_copy_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace_copy_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">fill</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">fill</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">fill_n</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">fill_n</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">generate</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">generate</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">generate_n</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">generate_n</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove_copy_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove_copy_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unique</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unique</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unique_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unique_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">reverse</span><span class="special">(</span><span class="identifier">r</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">reverse</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">))</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">reverse_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">reverse_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rotate</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">m</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rotate</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">m</span><span class="special">,</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">))</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rotate_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">m</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rotate_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">m</span><span class="special">,</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">random_shuffle</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">random_shuffle</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partition</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partition</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">stable_partition</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">stable_partition</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sort</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sort</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">stable_sort</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">stable_sort</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partial_sort</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">m</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partial_sort</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partial_sort_copy</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partial_sort_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">nth_element</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">n</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">nth_element</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">merge</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span>
+ <span class="identifier">r2</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">merge</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">inplace_merge</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">m</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">inplace_merge</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_union</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span>
+ <span class="identifier">r2</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_union</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_intersection</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_intersection</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_difference</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_difference</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_symmetric_difference</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_symmetric_difference</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">push_heap</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">push_heap</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">pop_heap</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">pop_heap</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">make_heap</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">make_heap</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sort_heap</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sort_heap</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">next_permutation</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">next_permutation</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">prev_permutation</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">prev_permutation</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">inner_product</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f1</span><span class="special">,</span> <span class="identifier">f2</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">inner_product</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f1</span><span class="special">,</span> <span class="identifier">f2</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partial_sum</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partial_sum</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">adjacent_difference</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">adjacent_difference</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="container.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stl.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="../../inside.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/stl/container.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/modules/stl/container.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,616 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Container - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../stl.html" title="STL">
+<link rel="prev" href="../stl.html" title="STL">
+<link rel="next" href="algorithm.html" title="Algorithm">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../stl.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stl.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="algorithm.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.stl.container"></a><a class="link" href="container.html" title="Container">Container</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The container module predefines a set of lazy functions that work on STL
+ containers. These functions provide a mechanism for the lazy evaluation
+ of the public member functions of the STL containers. The lazy functions
+ are thin wrappers that simply forward to their respective counterparts
+ in the STL library.
+ </p>
+<p>
+ Lazy functions are provided for all of the member functions of the following
+ containers:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ deque
+ </li>
+<li class="listitem">
+ list
+ </li>
+<li class="listitem">
+ map
+ </li>
+<li class="listitem">
+ multimap
+ </li>
+<li class="listitem">
+ vector
+ </li>
+</ul></div>
+<p>
+ Indeed, should your class have member functions with the same names and
+ signatures as those listed below, then it will automatically be supported.
+ To summarize, lazy functions are provided for member functions:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ assign
+ </li>
+<li class="listitem">
+ at
+ </li>
+<li class="listitem">
+ back
+ </li>
+<li class="listitem">
+ begin
+ </li>
+<li class="listitem">
+ capacity
+ </li>
+<li class="listitem">
+ clear
+ </li>
+<li class="listitem">
+ empty
+ </li>
+<li class="listitem">
+ end
+ </li>
+<li class="listitem">
+ erase
+ </li>
+<li class="listitem">
+ front
+ </li>
+<li class="listitem">
+ get_allocator
+ </li>
+<li class="listitem">
+ insert
+ </li>
+<li class="listitem">
+ key_comp
+ </li>
+<li class="listitem">
+ max_size
+ </li>
+<li class="listitem">
+ pop_back
+ </li>
+<li class="listitem">
+ pop_front
+ </li>
+<li class="listitem">
+ push_back
+ </li>
+<li class="listitem">
+ push_front
+ </li>
+<li class="listitem">
+ rbegin
+ </li>
+<li class="listitem">
+ rend
+ </li>
+<li class="listitem">
+ reserve
+ </li>
+<li class="listitem">
+ resize
+ </li>
+<li class="listitem">
+ size
+ </li>
+<li class="listitem">
+ splice
+ </li>
+<li class="listitem">
+ value_comp
+ </li>
+</ul></div>
+<p>
+ The lazy functions' names are the same as the corresponding member function.
+ The difference is that the lazy functions are free functions and therefore
+ does not use the member "dot" syntax.
+ </p>
+<div class="table">
+<a name="phoenix.modules.stl.container.t0"></a><p class="title"><b>Table&#160;1.4.&#160;Sample usage</b></p>
+<div class="table-contents"><table class="table" summary="Sample usage">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ "Normal" version
+ </p>
+ </th>
+<th>
+ <p>
+ "Lazy" version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">my_vector</span><span class="special">.</span><span class="identifier">at</span><span class="special">(</span><span class="number">5</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">at</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span>
+ <span class="number">5</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">my_list</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">my_vector1</span><span class="special">.</span><span class="identifier">swap</span><span class="special">(</span><span class="identifier">my_vector2</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">swap</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span>
+ <span class="identifier">arg2</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Notice that member functions with names that clash with stl algorithms
+ are absent. This will be provided in Phoenix's algorithm module.
+ </p>
+<p>
+ No support is provided here for lazy versions of <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=</span></code>, <code class="computeroutput"><span class="keyword">operator</span><span class="special">[]</span></code> etc. Such operators are not specific
+ to STL containers and lazy versions can therefore be found in <a class="link" href="../operator.html" title="Operator">operators</a>.
+ </p>
+<p>
+ The following table describes the container functions and their semantics.
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Arguments in brackets denote optional parameters.
+ </p>
+</div>
+<div class="table">
+<a name="phoenix.modules.stl.container.t1"></a><p class="title"><b>Table&#160;1.5.&#160;Lazy STL Container Functions</b></p>
+<div class="table-contents"><table class="table" summary="Lazy STL Container Functions">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">assign</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>
+ <span class="identifier">c</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span><span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">c</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">at</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span>
+ <span class="identifier">i</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">at</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">back</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">capacity</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">capacity</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">clear</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">clear</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">empty</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">empty</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">erase</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></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">erase</span><span class="special">(</span><span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">b</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">front</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">get_allocator</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">get_allocator</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">insert</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>
+ <span class="identifier">c</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">c</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">key_comp</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">key_comp</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">max_size</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">max_size</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">pop_back</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">pop_back</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">pop_front</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">pop_front</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span>
+ <span class="identifier">d</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">d</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">push_front</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span>
+ <span class="identifier">d</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">push_front</span><span class="special">(</span><span class="identifier">d</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">pop_front</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">pop_front</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rbegin</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">rbegin</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rend</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">rend</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">reserve</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span>
+ <span class="identifier">n</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">reserve</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">resize</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></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">resize</span><span class="special">(</span><span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">b</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">splice</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>
+ <span class="identifier">c</span><span class="special">,</span>
+ <span class="identifier">d</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">splice</span><span class="special">(</span><span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">c</span><span class="special">,</span>
+ <span class="identifier">d</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">value_comp</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">value_comp</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../stl.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stl.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="algorithm.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/organization.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/organization.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,376 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Organization - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="basics.html" title="Basics">
+<link rel="next" href="actor.html" title="Actor">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="basics.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="actor.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">
+<a name="phoenix.organization"></a><a class="link" href="organization.html" title="Organization">Organization</a>
+</h2></div></div></div>
+<p>
+ Care and attention to detail was given, painstakingly, to the design and implementation
+ of Phoenix.
+ </p>
+<p>
+ The library is organized in four layers:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Actor
+ </li>
+<li class="listitem">
+ Value, Reference, Arguments
+ </li>
+<li class="listitem">
+ Function, Operator, Object, Statement, Scope
+ </li>
+<li class="listitem">
+ STL, Fusion, Bind
+ </li>
+</ol></div>
+<p>
+ The modules are orthogonal, with no cyclic dependencies. Lower layers do not
+ depend on higher layers. Modules in a layer do not depend on other modules
+ in the same layer. This means, for example, that Bind can be completely discarded
+ if it is not required; or one could perhaps take out Operator and Statement
+ and just use Function, which may be desirable in a pure FP application.
+ </p>
+<p>
+ The library has grown from the original Phoenix but still comprises only header
+ files. There are no object files to link against.
+ </p>
+<h3>
+<a name="phoenix.organization.h0"></a>
+ <span><a name="phoenix.organization.core"></a></span><a class="link" href="organization.html#phoenix.organization.core">Core</a>
+ </h3>
+<p>
+ The lowest two layers comprise the core.
+ </p>
+<p>
+ The <a class="link" href="actor.html" title="Actor"><code class="computeroutput"><span class="identifier">Actor</span></code></a>
+ is the main concept behind the library. Lazy functions are abstracted as actors.
+ </p>
+<p>
+ Terminals provide the basic building blocks of functionality within Phoenix.
+ Expressions are used to combine these terminals together to provide more powerful
+ functionality.
+ </p>
+<p>
+ Expressions are composed of zero or more actors. Each actor in a composite
+ can again be another expression.
+ </p>
+<div class="table">
+<a name="phoenix.organization.t0"></a><p class="title"><b>Table&#160;1.2.&#160;Modules</b></p>
+<div class="table-contents"><table class="table" summary="Modules">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Module
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Function
+ </p>
+ </td>
+<td>
+ <p>
+ Lazy functions support (e.g. <code class="computeroutput"><span class="identifier">add</span></code>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Operator
+ </p>
+ </td>
+<td>
+ <p>
+ Lazy operators support (e.g. <code class="computeroutput"><span class="special">+</span></code>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Statement
+ </p>
+ </td>
+<td>
+ <p>
+ Lazy statements (e.g. <code class="computeroutput"><span class="identifier">if_</span></code>,
+ <code class="computeroutput"><span class="identifier">while_</span></code>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Object
+ </p>
+ </td>
+<td>
+ <p>
+ Lazy casts (e.g. <code class="computeroutput"><span class="identifier">static_cast_</span></code>),
+ object creation destruction (e.g. <code class="computeroutput"><span class="identifier">new_</span></code>,
+ <code class="computeroutput"><span class="identifier">delete_</span></code>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Scope
+ </p>
+ </td>
+<td>
+ <p>
+ Support for scopes, local variables and lambda-lambda
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bind
+ </p>
+ </td>
+<td>
+ <p>
+ Lazy functions from free functions, member functions or member variables.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ STL Container
+ </p>
+ </td>
+<td>
+ <p>
+ Set of predefined "lazy" functions that work on STL containers
+ and sequences (e.g. <code class="computeroutput"><span class="identifier">push_back</span></code>).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ STL Algorithm
+ </p>
+ </td>
+<td>
+ <p>
+ Set of predefined "lazy" versions of the STL algorithms
+ (e.g. <code class="computeroutput"><span class="identifier">find_if</span></code>).
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Each module is defined in a header file with the same name. For example, the
+ core module is defined in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.
+ </p>
+<div class="table">
+<a name="phoenix.organization.t1"></a><p class="title"><b>Table&#160;1.3.&#160;Includes</b></p>
+<div class="table-contents"><table class="table" summary="Includes">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Module
+ </p>
+ </th>
+<th>
+ <p>
+ File
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Core
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Function
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Operator
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Statement
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Object
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Scope
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">scope</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bind
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Container
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Algorithm
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../images/tip.png" alt="tip"></span> Finer grained include files are available per feature;
+ see the succeeding sections.
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basics.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="actor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/references.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/references.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>References - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="acknowledgments.html" title="Acknowledgments">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="acknowledgments.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>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="phoenix.references"></a><a class="link" href="references.html" title="References">References</a>
+</h2></div></div></div>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Why Functional Programming Matters, John Hughes, 1989. Available online
+ at http://www.math.chalmers.se/~rjmh/Papers/whyfp.html.
+ </li>
+<li class="listitem">
+ Boost.Lambda library, Jaakko Jarvi, 1999-2004 Jaakko Jarvi, Gary Powell.
+ Available online at http://www.boost.org/libs/lambda/.
+ </li>
+<li class="listitem">
+ Functional Programming in C++ using the FC++ Library: a short article introducing
+ FC++, Brian McNamara and Yannis Smaragdakis, August 2003. Available online
+ at http://www.cc.gatech.edu/~yannis/fc++/.
+ </li>
+<li class="listitem">
+ Side-effects and partial function application in C++, Jaakko Jarvi and
+ Gary Powell, 2001. Available online at http://osl.iu.edu/~jajarvi/publications/papers/mpool01.pdf.
+ </li>
+<li class="listitem">
+ Spirit Version 1.8.1, Joel de Guzman, Nov 2004. Available online at http://www.boost.org/libs/spirit/.
+ </li>
+<li class="listitem">
+ The Boost MPL Library, Aleksey Gurtovoy and David Abrahams, 2002-2004.
+ Available online at http://www.boost.org/libs/mpl/.
+ </li>
+<li class="listitem">
+ Generic Programming Redesign of Patterns, Proceedings of the 5th European
+ Conference on Pattern Languages of Programs, (EuroPLoP'2000) Irsee, Germany,
+ July 2000. Available online at http://www.coldewey.com/europlop2000/papers/geraud%2Bduret.zip.
+ </li>
+<li class="listitem">
+ A Gentle Introduction to Haskell, Paul Hudak, John Peterson and Joseph
+ Fasel, 1999. Available online at http://www.haskell.org/tutorial/.
+ </li>
+<li class="listitem">
+ Large scale software design, John Lackos, ISBN 0201633620, Addison-Wesley,
+ July 1996.
+ </li>
+<li class="listitem">
+ Design Patterns, Elements of Reusable Object-Oriented Software, Erich Gamma,
+ Richard Helm, Ralph Jhonson, and John Vlissides, Addison-Wesley, 1995.
+ </li>
+<li class="listitem">
+ The Forwarding Problem: Arguments Peter Dimov, Howard E. Hinnant, Dave
+ Abrahams, September 09, 2002. Available online: <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">Forwarding
+ Function Problem</a>.
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acknowledgments.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>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,119 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Starter Kit - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="introduction.html" title="Introduction">
+<link rel="next" href="starter_kit/values.html" title="Values">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="introduction.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/values.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">
+<a name="phoenix.starter_kit"></a><a class="link" href="starter_kit.html" title="Starter Kit">Starter Kit</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Values</span></dt>
+<dt><span class="section">References</span></dt>
+<dt><span class="section">Arguments</span></dt>
+<dt><span class="section">Lazy Operators</span></dt>
+<dt><span class="section">Lazy Statements</span></dt>
+<dt><span class="section"><a href="starter_kit/construct__new__delete__casts.html">Construct,
+ New, Delete, Casts</a></span></dt>
+<dt><span class="section">Lazy Functions</span></dt>
+<dt><span class="section">More</span></dt>
+</dl></div>
+<p>
+ Most "quick starts" only get you a few blocks from where you are.
+ From there, you are on your own. Yet, typically, you'd want to get to the next
+ city. This starter kit shall be as minimal as possible, yet packed as much
+ power as possible.
+ </p>
+<p>
+ So you are busy and always on the go. You do not wish to spend a lot of time
+ studying the library. You wish to be spared the details for later when you
+ need it. For now, all you need to do is to get up to speed as quickly as possible
+ and start using the library. If this is the case, this is the right place to
+ start.
+ </p>
+<p>
+ This section is by no means a thorough discourse of the library. For more information
+ on Phoenix, please take some time to read the rest of the Documentation. Yet,
+ if you just want to use the library quickly, now, this chapter will probably
+ suffice. Rather than taking you to the details of the library, we shall try
+ to provide you with annotated examples instead. Hopefully, this will get you
+ into high gear quickly.
+ </p>
+<h4>
+<a name="phoenix.starter_kit.h0"></a>
+ <span><a name="phoenix.starter_kit.functors_everywhere"></a></span><a class="link" href="starter_kit.html#phoenix.starter_kit.functors_everywhere">Functors
+ everywhere</a>
+ </h4>
+<p>
+ Phoenix is built on function objects (functors). The functor is the main building
+ block. We compose functors to build more complex functors... to build more
+ complex functors... and so on. Almost everything is a functor.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Functors are so ubiquitous in Phoenix that, in the manual, the words <span class="emphasis"><em>"functor"</em></span>
+ and <span class="emphasis"><em>"function"</em></span> are used interchangeably.
+ </p></td></tr>
+</table></div>
+<p>
+ We start with some core functions that are called <span class="bold"><strong>primitives</strong></span>.
+ You can think of primitives (such as values, references and arguments) as atoms.
+ </p>
+<p>
+ Things start to get interesting when we start <span class="emphasis"><em>composing</em></span>
+ primitives to form <span class="bold"><strong>expressions</strong></span>. The expressions
+ can, in turn, be composed to form even more complex expressions.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="introduction.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/values.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/arguments.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/arguments.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Arguments - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="references.html" title="References">
+<link rel="next" href="lazy_operators.html" title="Lazy Operators">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="references.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_operators.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.starter_kit.arguments"></a><a class="link" href="arguments.html" title="Arguments">Arguments</a>
+</h3></div></div></div>
+<p>
+ Arguments are also functions? You bet!
+ </p>
+<p>
+ Until now, we have been dealing with expressions returning a nullary function.
+ Arguments, on the other hand, evaluate to an N-ary function. An argument
+ represents the Nth argument. There are a few predefined arguments arg1, arg2,
+ arg3, arg4 and so on (and it's BLL
+ counterparts: _1, _2, _3, _4 and so on). Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">arg1</span> <span class="comment">// one-or-more argument function that returns its first argument</span>
+<span class="identifier">arg2</span> <span class="comment">// two-or-more argument function that returns its second argument</span>
+<span class="identifier">arg3</span> <span class="comment">// three-or-more argument function that returns its third argument</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">argN</span></code> returns the Nth argument.
+ Examples:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">s</span> <span class="special">=</span> <span class="string">"Hello World"</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// prints 3</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg2</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">s</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// prints "Hello World"</span>
+</pre>
+<p>
+ (See arguments.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about arguments <a class="link" href="../modules/core/arguments.html" title="Arguments">here.</a>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="references.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_operators.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/construct__new__delete__casts.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/construct__new__delete__casts.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Construct, New, Delete, Casts - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="lazy_statements.html" title="Lazy Statements">
+<link rel="next" href="lazy_functions.html" title="Lazy Functions">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="lazy_statements.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_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.starter_kit.construct__new__delete__casts"></a><a class="link" href="construct__new__delete__casts.html" title="Construct, New, Delete, Casts">Construct,
+ New, Delete, Casts</a>
+</h3></div></div></div>
+<p>
+ You'll probably want to work with objects. There are lazy versions of constructor
+ calls, <code class="computeroutput"><span class="keyword">new</span></code>, <code class="computeroutput"><span class="keyword">delete</span></code>
+ and the suite of C++ casts. Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">construct</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="comment">// constructs a std::string from arg1, arg2</span>
+<span class="identifier">new_</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="comment">// makes a new std::string from arg1, arg2</span>
+<span class="identifier">delete_</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span> <span class="comment">// deletes arg1 (assumed to be a pointer)</span>
+<span class="identifier">static_cast_</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&gt;(</span><span class="identifier">arg1</span><span class="special">)</span> <span class="comment">// static_cast's arg1 to an int*</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Take note that, by convention, names that conflict with C++ reserved words
+ are appended with a single trailing underscore <code class="computeroutput"><span class="char">'_'</span></code>
+ </p></td></tr>
+</table></div>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about this <a class="link" href="../modules/object.html" title="Object">here.</a>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lazy_statements.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,124 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Lazy Functions - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="construct__new__delete__casts.html" title="Construct, New, Delete, Casts">
+<link rel="next" href="more.html" title="More">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="construct__new__delete__casts.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="more.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.starter_kit.lazy_functions"></a><a class="link" href="lazy_functions.html" title="Lazy Functions">Lazy Functions</a>
+</h3></div></div></div>
+<p>
+ As you write more lambda functions, you'll notice certain patterns that you
+ wish to refactor as reusable functions. When you reach that point, you'll
+ wish that ordinary functions can co-exist with phoenix functions. Unfortunately,
+ the <span class="emphasis"><em>immediate</em></span> nature of plain C++ functions make them
+ incompatible.
+ </p>
+<p>
+ Lazy functions are your friends. The library provides a facility to make
+ lazy functions. The code below is a rewrite of the <code class="computeroutput"><span class="identifier">is_odd</span></code>
+ function using the facility:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">is_odd_impl</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">bool</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Arg</span> <span class="identifier">arg1</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">is_odd_impl</span><span class="special">&gt;</span> <span class="identifier">is_odd</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="phoenix.starter_kit.lazy_functions.h0"></a>
+ <span><a name="phoenix.starter_kit.lazy_functions.things_to_note_"></a></span><a class="link" href="lazy_functions.html#phoenix.starter_kit.lazy_functions.things_to_note_">Things
+ to note:</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Result type deduction is implemented with the help of the result_of protocol.
+ For more information see <a href="/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
+ Of</a>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">is_odd_impl</span></code> implements
+ the function.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">is_odd</span></code>, an instance of
+ <code class="computeroutput"><span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">is_odd_impl</span><span class="special">&gt;</span></code>,
+ is the lazy function.
+ </li>
+</ul></div>
+<p>
+ Now, <code class="computeroutput"><span class="identifier">is_odd</span></code> is a truly lazy
+ function that we can use in conjunction with the rest of phoenix. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">is_odd</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">));</span>
+</pre>
+<p>
+ (See function.cpp)
+ </p>
+<h5>
+<a name="phoenix.starter_kit.lazy_functions.h1"></a>
+ <span><a name="phoenix.starter_kit.lazy_functions.predefined_lazy_functions"></a></span><a class="link" href="lazy_functions.html#phoenix.starter_kit.lazy_functions.predefined_lazy_functions">Predefined
+ Lazy Functions</a>
+ </h5>
+<p>
+ The library is chock full of STL savvy, predefined lazy functions covering
+ the whole of the STL containers, iterators and algorithms. For example, there
+ are lazy versions of container related operations such as assign, at, back,
+ begin, pop_back, pop_front, push_back, push_front, etc. (See <a class="link" href="../modules/stl.html" title="STL">STL</a>).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct__new__delete__casts.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="more.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,164 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Lazy Operators - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="arguments.html" title="Arguments">
+<link rel="next" href="lazy_statements.html" title="Lazy Statements">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="arguments.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_statements.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.starter_kit.lazy_operators"></a><a class="link" href="lazy_operators.html" title="Lazy Operators">Lazy Operators</a>
+</h3></div></div></div>
+<p>
+ You can use the usual set of operators to form expressions. Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">arg1</span> <span class="special">*</span> <span class="identifier">arg1</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">arg1</span> <span class="special">+</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span>
+<span class="identifier">arg1</span> <span class="special">=</span> <span class="identifier">arg2</span> <span class="special">+</span> <span class="special">(</span><span class="number">3</span> <span class="special">*</span> <span class="identifier">arg3</span><span class="special">)</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">arg1</span><span class="special">[</span><span class="identifier">arg2</span><span class="special">]</span> <span class="comment">// assuming arg1 is indexable and arg2 is a valid index</span>
+</pre>
+<p>
+ Note the expression: <code class="computeroutput"><span class="number">3</span> <span class="special">*</span>
+ <span class="identifier">arg3</span></code>. This expression is actually
+ a short-hand equivalent to: <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span>
+ <span class="special">*</span> <span class="identifier">arg3</span></code>.
+ In most cases, like above, you can get away with it. But in some cases, you
+ will have to explicitly wrap your values in <code class="computeroutput"><span class="identifier">val</span></code>.
+ Rules of thumb:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ In a binary expression (e.g. <code class="computeroutput"><span class="number">3</span>
+ <span class="special">*</span> <span class="identifier">arg3</span></code>),
+ at least one of the operands must be a phoenix primitive or expression.
+ </li>
+<li class="listitem">
+ In a unary expression (e.g. <code class="computeroutput"><span class="identifier">arg1</span><span class="special">++</span></code>), the single operand must be a phoenix
+ primitive or expression.
+ </li>
+</ul></div>
+<p>
+ If these basic rules are not followed, the result is either an error, or
+ is immediately evaluated. Some examples:
+ </p>
+<pre class="programlisting"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="number">123</span> <span class="comment">// lazy</span>
+<span class="identifier">x</span> <span class="special">=</span> <span class="number">123</span> <span class="comment">// immediate</span>
+
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)[</span><span class="number">0</span><span class="special">]</span> <span class="comment">// lazy</span>
+<span class="identifier">x</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="comment">// immediate</span>
+
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)[</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)]</span> <span class="comment">// lazy</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)[</span><span class="identifier">i</span><span class="special">]</span> <span class="comment">// lazy (equivalent to ref(x)[val(i)])</span>
+<span class="identifier">x</span><span class="special">[</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)]</span> <span class="comment">// illegal (x is not a phoenix primitive or expression)</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">[</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)])</span> <span class="comment">// illegal (x is not a phoenix primitive or expression)</span>
+</pre>
+<p>
+ Why are the last two expression illegal? Although <code class="computeroutput"><span class="keyword">operator</span><span class="special">[]</span></code> looks as much like a binary operator as
+ <code class="computeroutput"><span class="keyword">operator</span><span class="special">=</span></code>
+ above it; the difference is that the former must be a member (i.e. <code class="computeroutput"><span class="identifier">x</span></code> must have an <code class="computeroutput"><span class="keyword">operator</span><span class="special">[]</span></code> that takes a phoenix primitive or expression
+ as its argument). This will most likely not be the case.
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about operators <a class="link" href="../modules/operator.html" title="Operator">here.</a>
+ </p>
+</div>
+<h5>
+<a name="phoenix.starter_kit.lazy_operators.h0"></a>
+ <span><a name="phoenix.starter_kit.lazy_operators.first_practical_example"></a></span><a class="link" href="lazy_operators.html#phoenix.starter_kit.lazy_operators.first_practical_example">First
+ Practical Example</a>
+ </h5>
+<p>
+ We've covered enough ground to present a real world example. We want to find
+ the first odd number in an STL container. Normally we use a functor (function
+ object) or a function pointer and pass that in to STL's <code class="computeroutput"><span class="identifier">find_if</span></code>
+ generic function:
+ </p>
+<p>
+ Write a function:
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span>
+<span class="identifier">is_odd</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">arg1</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Pass a pointer to the function to STL's <code class="computeroutput"><span class="identifier">find_if</span></code>
+ algorithm:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="special">&amp;</span><span class="identifier">is_odd</span><span class="special">)</span>
+</pre>
+<p>
+ Using Phoenix, the same can be achieved directly with a one-liner:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)</span>
+</pre>
+<p>
+ The expression <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">%</span>
+ <span class="number">2</span> <span class="special">==</span> <span class="number">1</span></code> automagically creates a functor with the
+ expected behavior. In FP, this unnamed function is called a lambda function.
+ Unlike the function pointer version, which is monomorphic (expects and works
+ only with a fixed type int argument), the Phoenix version is fully polymorphic
+ and works with any container (of ints, of longs, of bignum, etc.) as long
+ as its elements can handle the <code class="computeroutput"><span class="identifier">arg1</span>
+ <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span></code> expression.
+ </p>
+<p>
+ (See find_if.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> ...<span class="bold"><strong>That's it, we're done</strong></span>.
+ Well if you wish to know a little bit more, read on...
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="arguments.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_statements.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_statements.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_statements.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Lazy Statements - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="lazy_operators.html" title="Lazy Operators">
+<link rel="next" href="construct__new__delete__casts.html" title="Construct, New, Delete, Casts">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="lazy_operators.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="construct__new__delete__casts.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.starter_kit.lazy_statements"></a><a class="link" href="lazy_statements.html" title="Lazy Statements">Lazy Statements</a>
+</h3></div></div></div>
+<p>
+ Lazy statements? Sure. There are lazy versions of the C++ statements we all
+ know and love. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">if_</span><span class="special">(</span><span class="identifier">arg1</span> <span class="special">&gt;</span> <span class="number">5</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span>
+<span class="special">]</span>
+</pre>
+<p>
+ Say, for example, we wish to print all the elements that are greater than
+ 5 (separated by a comma) in a vector. Here's how we write it:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">v</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">v</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">if_</span><span class="special">(</span><span class="identifier">arg1</span> <span class="special">&gt;</span> <span class="number">5</span><span class="special">)</span>
+ <span class="special">[</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span>
+ <span class="special">]</span>
+<span class="special">);</span>
+</pre>
+<p>
+ (See if.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about statements <a class="link" href="../modules/statement.html" title="Statement">here.</a>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lazy_operators.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="construct__new__delete__casts.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/more.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/more.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>More - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="lazy_functions.html" title="Lazy Functions">
+<link rel="next" href="../basics.html" title="Basics">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="lazy_functions.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="../basics.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.starter_kit.more"></a><a class="link" href="more.html" title="More">More</a>
+</h3></div></div></div>
+<p>
+ As mentioned earlier, this chapter is not a thorough discourse of the library.
+ It is meant only to cover enough ground to get you into high gear as quickly
+ as possible. Some advanced stuff is not discussed here (e.g. <a class="link" href="../modules/scope.html" title="Scope">Scopes</a>);
+ nor are features that provide alternative (short-hand) ways to do the same
+ things (e.g. <a class="link" href="../modules/bind.html" title="Bind">Bind</a> vs. <a class="link" href="../modules/function.html" title="Function">Lazy
+ Functions</a>).
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> ...<span class="bold"><strong>If you still wish to learn
+ more, the read on...</strong></span>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lazy_functions.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="../basics.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/references.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/references.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>References - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="values.html" title="Values">
+<link rel="next" href="arguments.html" title="Arguments">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="values.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="arguments.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.starter_kit.references"></a><a class="link" href="references.html" title="References">References</a>
+</h3></div></div></div>
+<p>
+ References are functions. They hold a reference to a value stored somewhere.
+ For example, given:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">s</span> <span class="special">=</span> <span class="string">"Hello World"</span><span class="special">;</span>
+</pre>
+<p>
+ we create <code class="computeroutput"><span class="identifier">references</span></code> to
+ <code class="computeroutput"><span class="identifier">i</span></code> and <code class="computeroutput"><span class="identifier">s</span></code>
+ this way:
+ </p>
+<pre class="programlisting"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span>
+</pre>
+<p>
+ Like <code class="computeroutput"><span class="identifier">val</span></code>, the expressions
+ above evaluates to a nullary function; the first one returning an <code class="computeroutput"><span class="keyword">int</span><span class="special">&amp;</span></code>,
+ and the second one returning a <code class="computeroutput"><span class="keyword">char</span>
+ <span class="keyword">const</span><span class="special">*&amp;</span></code>.
+ </p>
+<p>
+ (See references.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about references <a class="link" href="../modules/core/references.html" title="References">here.</a>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="values.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="arguments.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/values.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/starter_kit/values.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,131 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Values - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="../starter_kit.html" title="Starter Kit">
+<link rel="next" href="references.html" title="References">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../starter_kit.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="references.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.starter_kit.values"></a><a class="link" href="values.html" title="Values">Values</a>
+</h3></div></div></div>
+<p>
+ Values are functions! Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span>
+<span class="identifier">val</span><span class="special">(</span><span class="string">"Hello, World"</span><span class="special">)</span>
+</pre>
+<p>
+ The first evaluates to a nullary function (a function taking no arguments)
+ that returns an <code class="computeroutput"><span class="keyword">int</span></code>, <code class="computeroutput"><span class="number">3</span></code>. The second evaluates to a nullary function
+ that returns a <code class="computeroutput"><span class="keyword">char</span> <span class="keyword">const</span><span class="special">(&amp;)[</span><span class="number">13</span><span class="special">]</span></code>, <code class="computeroutput"><span class="string">"Hello,
+ World"</span></code>.
+ </p>
+<h5>
+<a name="phoenix.starter_kit.values.h0"></a>
+ <span><a name="phoenix.starter_kit.values.lazy_evaluation"></a></span><a class="link" href="values.html#phoenix.starter_kit.values.lazy_evaluation">Lazy
+ Evaluation</a>
+ </h5>
+<p>
+ Confused? <code class="computeroutput"><span class="identifier">val</span></code> is a unary
+ function and <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code> invokes
+ it, you say? Yes. However, read carefully: <span class="emphasis"><em>"evaluates to a
+ nullary function"</em></span>. <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code>
+ evaluates to (returns) a nullary function. Aha! <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code>
+ returns a function! So, since <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code>
+ returns a function, you can invoke it. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ (See values.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about values <a class="link" href="../modules/core/values.html" title="Values">here.</a>
+ </p>
+</div>
+<p>
+ The second function call (the one with no arguments) calls the nullary function
+ which then returns <code class="computeroutput"><span class="number">3</span></code>. The need
+ for a second function call is the reason why the function is said to be
+ <span class="bold"><strong><span class="emphasis"><em>Lazily Evaluated</em></span></strong></span>. The
+ first call doesn't do anything. You need a second call to finally evaluate
+ the thing. The first call lazily evaluates the function; i.e. doesn't do
+ anything and defers the evaluation for later.
+ </p>
+<h5>
+<a name="phoenix.starter_kit.values.h1"></a>
+ <span><a name="phoenix.starter_kit.values.callbacks"></a></span><a class="link" href="values.html#phoenix.starter_kit.values.callbacks">Callbacks</a>
+ </h5>
+<p>
+ It may not be immediately apparent how lazy evaluation can be useful by just
+ looking at the example above. Putting the first and second function call
+ in a single line is really not very useful. However, thinking of <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code> as a callback function (and in most cases
+ they are actually used that way), will make it clear. Example:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">print</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">f</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span>
+<span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">print</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">));</span>
+ <span class="identifier">print</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="string">"Hello World"</span><span class="special">));</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ (See callback.cpp)
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../starter_kit.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="references.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/what_s_new.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/what_s_new.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>What's New - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="next" href="what_s_new/phoenix_3_0.html" title="Phoenix 3.0">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<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="what_s_new/phoenix_3_0.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">
+<a name="phoenix.what_s_new"></a><a class="link" href="what_s_new.html" title="What's New">What's New</a>
+</h2></div></div></div>
+<div class="toc"><dl><dt><span class="section">Phoenix 3.0</span></dt></dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../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="what_s_new/phoenix_3_0.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/what_s_new/phoenix_3_0.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/what_s_new/phoenix_3_0.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Phoenix 3.0 - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../what_s_new.html" title="What's New">
+<link rel="prev" href="../what_s_new.html" title="What's New">
+<link rel="next" href="../introduction.html" title="Introduction">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../what_s_new.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../what_s_new.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="../introduction.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.what_s_new.phoenix_3_0"></a><a class="link" href="phoenix_3_0.html" title="Phoenix 3.0">Phoenix 3.0</a>
+</h3></div></div></div>
+<p>
+ This is the first official release of Phoenix as first class Boost citizen.
+ As a consequence of the review of Phoenix V2 the internals got completely
+ rewritten. Therefore the internal extension mechanism is different.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ composite&lt;...&gt;, as_composite&lt;...&gt; and compose are gone and
+ have been replaced. For an in depth discussion see the section <a class="link" href="../inside.html" title="Inside Phoenix">Inside Phoenix</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="../modules/function.html" title="Function">phoenix.modules.function</a>
+ phoenix::function now supports function objects that implement the <a href="/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
+ Of</a> protocol. <span class="bold"><strong>This is a breaking change</strong></span>
+ </li>
+<li class="listitem">
+ Boilerplate macros to easily adapt already existing functions and function
+ objects
+ </li>
+<li class="listitem">
+ <a class="link" href="../modules/bind.html" title="Bind">Bind</a> is no completely compatible
+ with Boost.Bind
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../what_s_new.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../what_s_new.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="../introduction.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/wrap_up.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_49_0/libs/phoenix/doc/html/phoenix/wrap_up.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Wrap Up - Boost 1.49.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="examples/transforming_the_expression_tree.html" title="Transforming the Expression Tree">
+<link rel="next" href="acknowledgments.html" title="Acknowledgments">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="examples/transforming_the_expression_tree.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="acknowledgments.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">
+<a name="phoenix.wrap_up"></a><a class="link" href="wrap_up.html" title="Wrap Up">Wrap Up</a>
+</h2></div></div></div>
+<p>
+ Sooner or later more FP techniques become standard practice as people find
+ the true value of this programming discipline outside the academe and into
+ the mainstream. In as much as structured programming of the 70s and object
+ oriented programming in the 80s and generic programming in the 90s shaped our
+ thoughts towards a more robust sense of software engineering, FP will certainly
+ be a paradigm that will catapult us towards more powerful software design and
+ engineering onward into the new millennium.
+ </p>
+<p>
+ Let me quote Doug Gregor of Boost.org. About functional style programming libraries:
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em>They're gaining acceptance, but are somewhat stunted by the ubiquitousness
+ of broken compilers. The C++ community is moving deeper into the so-called
+ "STL- style" programming paradigm, which brings many aspects of
+ functional programming into the fold. Look at, for instance, the Spirit parser
+ to see how such function objects can be used to build Yacc-like grammars
+ with semantic actions that can build abstract syntax trees on the fly. This
+ type of functional composition is gaining momentum.</em></span>
+ </p></blockquote></div>
+<p>
+ Indeed. Phoenix is another attempt to introduce more FP techniques into the
+ mainstream. Not only is it a tool that will make life easier for the programmer.
+ In its own right, the actual design of the library itself is a model of true
+ C++ FP in action. The library is designed and structured in a strict but clear
+ and well mannered FP sense. By all means, use the library as a tool. But for
+ those who want to learn more about FP in C++, don't stop there, I invite you
+ to take a closer look at the design of the library itself.
+ </p>
+<p>
+ So there you have it. Have fun! See you in the FP world.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples/transforming_the_expression_tree.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="acknowledgments.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/add2.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/add2_call.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/adder.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/alert.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/banner.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/fbox.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/funnel_in.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/funnel_out.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/home.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/important.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/lambda_cpp.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/next.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/note.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/organization.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/organization_alt.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/prev.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/simple_ast.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/smiley.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/tip.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/images/up.png
==============================================================================
Binary file. No diff available.

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/index.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/index.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,321 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;1.&#160;Phoenix 3.0 - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="next" href="phoenix/what_s_new.html" title="What's New">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></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">
+<a name="phoenix"></a>Chapter&#160;1.&#160;Phoenix 3.0</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Joel</span> <span class="surname">de Guzman</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Dan</span> <span class="surname">Marsden</span>
+</h3></div></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">Thomas</span> <span class="surname">Heller</span>
+</h3></div></div>
+<div><p class="copyright">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller</p></div>
+<div><div class="legalnotice">
+<a name="phoenix.legal"></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>
+</div></div>
+</div></div>
+<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>
+<dt><span class="section">Values</span></dt>
+<dt><span class="section">References</span></dt>
+<dt><span class="section">Arguments</span></dt>
+<dt><span class="section">Lazy Operators</span></dt>
+<dt><span class="section">Lazy Statements</span></dt>
+<dt><span class="section"><a href="phoenix/starter_kit/construct__new__delete__casts.html">Construct,
+ New, Delete, Casts</a></span></dt>
+<dt><span class="section">Lazy Functions</span></dt>
+<dt><span class="section">More</span></dt>
+</dl></dd>
+<dt><span class="section">Basics</span></dt>
+<dt><span class="section">Organization</span></dt>
+<dt><span class="section">Actor</span></dt>
+<dt><span class="section">Modules</span></dt>
+<dd><dl>
+<dt><span class="section">Core</span></dt>
+<dd><dl>
+<dt><span class="section">Values</span></dt>
+<dt><span class="section">References</span></dt>
+<dt><span class="section">Arguments</span></dt>
+<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>
+<dt><span class="section">Block Statement</span></dt>
+<dt><span class="section">if_ Statement</span></dt>
+<dt><span class="section">if_else_ Statement</span></dt>
+<dt><span class="section"><a href="phoenix/modules/statement/switch__statement.html">switch_
+ Statement</a></span></dt>
+<dt><span class="section"><a href="phoenix/modules/statement/while__statement.html">while_
+ Statement</a></span></dt>
+<dt><span class="section">do_while_ Statement</span></dt>
+<dt><span class="section">for_ Statement</span></dt>
+<dt><span class="section"><a href="phoenix/modules/statement/try__catch__statement.html">try_
+ catch_ Statement</a></span></dt>
+<dt><span class="section">throw_</span></dt>
+</dl></dd>
+<dt><span class="section">Object</span></dt>
+<dd><dl>
+<dt><span class="section">Construction</span></dt>
+<dt><span class="section">New</span></dt>
+<dt><span class="section">Delete</span></dt>
+<dt><span class="section">Casts</span></dt>
+</dl></dd>
+<dt><span class="section">Scope</span></dt>
+<dd><dl>
+<dt><span class="section">Local Variables</span></dt>
+<dt><span class="section">let</span></dt>
+<dt><span class="section">lambda</span></dt>
+</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>
+<dt><span class="section"><a href="phoenix/modules/bind/binding_member_variables.html">Binding
+ Member Variables</a></span></dt>
+<dt><span class="section"><a href="phoenix/modules/bind/compatibility_with_boost_bind.html">Compatibility
+ with Boost.Bind</a></span></dt>
+</dl></dd>
+<dt><span class="section">STL</span></dt>
+<dd><dl>
+<dt><span class="section">Container</span></dt>
+<dt><span class="section">Algorithm</span></dt>
+</dl></dd>
+</dl></dd>
+<dt><span class="section">Inside Phoenix</span></dt>
+<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"><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>
+<dt><span class="section">Placeholder Unification</span></dt>
+</dl></dd>
+<dt><span class="section">Advanced Examples</span></dt>
+<dd><dl>
+<dt><span class="section">Extending Actors</span></dt>
+<dt><span class="section">Adding an expression</span></dt>
+<dt><span class="section"><a href="phoenix/examples/transforming_the_expression_tree.html">Transforming
+ the Expression Tree</a></span></dt>
+</dl></dd>
+<dt><span class="section">Wrap Up</span></dt>
+<dt><span class="section">Acknowledgments</span></dt>
+<dt><span class="section">References</span></dt>
+</dl>
+</div>
+<h2>
+<a name="phoenix.h0"></a>
+ <span><a name="phoenix.preface"></a></span><a class="link" href="index.html#phoenix.preface">Preface</a>
+ </h2>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em>Functional programming is so called because a program consists entirely
+ of functions. The main program itself is written as a function which receives
+ the program's input as its argument and delivers the program's output as its
+ result. Typically the main function is defined in terms of other functions,
+ which in turn are defined in terms of still more functions until at the bottom
+ level the functions are language primitives.</em></span>
+ </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="bold"><strong>John Hughes</strong></span>-- <span class="emphasis"><em>Why Functional Programming
+ Matters</em></span>
+ </p></blockquote></div>
+<p>
+ <span class="inlinemediaobject"><img src="images/lambda_cpp.png" alt="lambda_cpp"></span>
+ </p>
+<h3>
+<a name="phoenix.h1"></a>
+ <span><a name="phoenix.description"></a></span><a class="link" href="index.html#phoenix.description">Description</a>
+ </h3>
+<p>
+ Phoenix enables Functional Programming (FP) in C++. The design and implementation
+ of Phoenix is highly influenced by FC++
+ by Yannis Smaragdakis and Brian McNamara and the BLL
+ (Boost Lambda Library) by Jaakko Jaarvi and Gary Powell. Phoenix is a blend of
+ FC++ and BLL using the implementation techniques used in the Spirit
+ inline parser.
+ </p>
+<p>
+ Phoenix is a header only library. It is extremely modular by design. One can
+ extract and use only a small subset of the full library, literally tearing the
+ library into small pieces, without fear that the pieces won't work anymore. The
+ library is organized in highly independent modules and layers.
+ </p>
+<h3>
+<a name="phoenix.h2"></a>
+ <span><a name="phoenix.how_to_use_this_manual"></a></span><a class="link" href="index.html#phoenix.how_to_use_this_manual">How
+ to use this manual</a>
+ </h3>
+<p>
+ The Phoenix library is organized in logical modules. This documentation provides
+ a user's guide and reference for each module in the library. A simple and clear
+ code example is worth a hundred lines of documentation; therefore, the user's
+ guide is presented with abundant examples annotated and explained in step-wise
+ manner. The user's guide is based on examples: lots of them.
+ </p>
+<p>
+ As much as possible, forward information (i.e. citing a specific piece of information
+ that has not yet been discussed) is avoided in the user's manual portion of each
+ module. In many cases, though, it is unavoidable that advanced but related topics
+ not be interspersed with the normal flow of discussion. To alleviate this problem,
+ topics categorized as "advanced" may be skipped at first reading.
+ </p>
+<p>
+ Some icons are used to mark certain topics indicative of their relevance. These
+ icons precede some text to indicate:
+ </p>
+<div class="table">
+<a name="phoenix.t0"></a><p class="title"><b>Table&#160;1.1.&#160;Icons</b></p>
+<div class="table-contents"><table class="table" summary="Icons">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Icon
+ </p>
+ </th>
+<th>
+ <p>
+ Name
+ </p>
+ </th>
+<th>
+ <p>
+ Meaning
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="images/note.png" alt="note"></span>
+ </p>
+ </td>
+<td>
+ <p>
+ Note
+ </p>
+ </td>
+<td>
+ <p>
+ Information provided is auxiliary but will give the reader a deeper
+ insight into a specific topic. May be skipped.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="images/alert.png" alt="alert"></span>
+ </p>
+ </td>
+<td>
+ <p>
+ Alert
+ </p>
+ </td>
+<td>
+ <p>
+ Information provided is of utmost importance.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <span class="inlinemediaobject"><img src="images/tip.png" alt="tip"></span>
+ </p>
+ </td>
+<td>
+ <p>
+ Tip
+ </p>
+ </td>
+<td>
+ <p>
+ A potentially useful and helpful piece of information.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="images/note.png" alt="note"></span> Unless otherwise noted <code class="computeroutput"><span class="keyword">using</span>
+ <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">;</span></code>
+ is assumed
+ </p>
+</div>
+<h3>
+<a name="phoenix.h3"></a>
+ <span><a name="phoenix._emphasis_role__bold___emphasis____to_joel_s_dear_daughter__phoenix__emphasis___emphasis_"></a></span><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: July 14, 2012 at 06:12:57 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/what_s_new.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/acknowledgments.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/acknowledgments.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Acknowledgments - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="wrap_up.html" title="Wrap Up">
+<link rel="next" href="references.html" title="References">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="wrap_up.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="references.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">
+<a name="phoenix.acknowledgments"></a><a class="link" href="acknowledgments.html" title="Acknowledgments">Acknowledgments</a>
+</h2></div></div></div>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Hartmut Kaiser implemented the original lazy casts and constructors based
+ on his original work on Spirit SE "semantic expressions" (the
+ precursor to Phoenix), and guided Phoenix from the initial review of V2
+ to the release of V3.
+ </li>
+<li class="listitem">
+ Eric Niebler did a 2.0 pre-release review and wrote some range related
+ code that Phoenix stole and used in the algorithms. Additionally he played
+ the leading role in inventing the extension mechanism as well as providing
+ early prototypes and helping with Boost.Proto code. DA Proto MAN!
+ </li>
+<li class="listitem">
+ Angus Leeming implemented the container functions on Phoenix-1 which I
+ then ported to Phoenix-2.
+ </li>
+<li class="listitem">
+ Daniel Wallin helped with the scope module, local variables, let and lambda
+ and the algorithms. I frequently discuss design issues with Daniel on Yahoo
+ Messenger.
+ </li>
+<li class="listitem">
+ Jaakko Jarvi. DA Lambda MAN!
+ </li>
+<li class="listitem">
+ Dave Abrahams, for his constant presence, wherever, whenever.
+ </li>
+<li class="listitem">
+ Aleksey Gurtovoy, DA MPL MAN!
+ </li>
+<li class="listitem">
+ Doug Gregor, always a source of inspiration.
+ </li>
+<li class="listitem">
+ Dan Marsden, did almost all the work in bringing Phoenix-2 out the door.
+ </li>
+<li class="listitem">
+ Thorsten Ottosen; Eric's range_ex code began life as "container_algo"
+ in the old boost sandbox, by Thorsten in 2002-2003.
+ </li>
+<li class="listitem">
+ Jeremy Siek, even prior to Thorsten, in 2001, started the "container_algo".
+ </li>
+<li class="listitem">
+ Vladimir Prus wrote the mutating algorithms code from the Boost Wiki.
+ </li>
+<li class="listitem">
+ Daryle Walker did a 2.0 pre-release review.
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="wrap_up.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="references.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/actor.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/actor.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Actor - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="organization.html" title="Organization">
+<link rel="next" href="modules.html" title="Modules">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="organization.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="modules.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">
+<a name="phoenix.actor"></a><a class="link" href="actor.html" title="Actor">Actor</a>
+</h2></div></div></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">Actor</span></code> is the main concept
+ behind the library. Actors are function objects. An actor can accept 0 to
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code> arguments.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You can set <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>,
+ the predefined maximum arity an actor can take. By default, <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code> is set to 10.
+ </p></td></tr>
+</table></div>
+<p>
+ Phoenix supplies an <code class="computeroutput"><span class="identifier">actor</span></code> class
+ template whose specializations model the <code class="computeroutput"><span class="identifier">Actor</span></code>
+ concept. <code class="computeroutput"><span class="identifier">actor</span></code> has one template
+ parameter, <code class="computeroutput"><span class="identifier">Expr</span></code>, that supplies
+ the underlying expression to evaluate.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">actor</span>
+<span class="special">{</span>
+ <span class="identifier">return_type</span>
+ <span class="keyword">operator</span><span class="special">()()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">&gt;</span>
+ <span class="identifier">return_type</span>
+ <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T0</span><span class="special">&amp;</span> <span class="identifier">_0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">&gt;</span>
+ <span class="identifier">return_type</span>
+ <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T0</span><span class="special">&amp;</span> <span class="identifier">_0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">&amp;</span> <span class="identifier">_1</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">//...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The actor class accepts the arguments through a set of function call operators
+ for 0 to <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>
+ arities (Don't worry about the details, for now. Note, for example, that we
+ skimp over the details regarding <code class="computeroutput"><span class="identifier">return_type</span></code>).
+ The arguments are passed through to the evaluation mechanism. For more information
+ see <a class="link" href="inside/actor.html" title="Actors in Detail">Inside Actors</a>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="organization.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="modules.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/basics.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/basics.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,288 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Basics - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="starter_kit/more.html" title="More">
+<link rel="next" href="organization.html" title="Organization">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="starter_kit/more.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="organization.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">
+<a name="phoenix.basics"></a><a class="link" href="basics.html" title="Basics">Basics</a>
+</h2></div></div></div>
+<p>
+ Almost everything is a function in the Phoenix library that can be evaluated
+ as <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">a1</span><span class="special">,</span> <span class="identifier">a2</span><span class="special">,</span> <span class="special">...,</span> a/n/<span class="special">)</span></code>, where <span class="emphasis"><em>n</em></span> is the function's
+ arity, or number of arguments that the function expects. Operators are also
+ functions. For example, <code class="computeroutput"><span class="identifier">a</span> <span class="special">+</span> <span class="identifier">b</span></code> is just
+ a function with arity == 2 (or binary). <code class="computeroutput"><span class="identifier">a</span>
+ <span class="special">+</span> <span class="identifier">b</span></code>
+ is the same as <code class="computeroutput"><span class="identifier">add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span></code>, <code class="computeroutput"><span class="identifier">a</span>
+ <span class="special">+</span> <span class="identifier">b</span> <span class="special">+</span> <span class="identifier">c</span></code> is the
+ same as <code class="computeroutput"><span class="identifier">add</span><span class="special">(</span><span class="identifier">add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">),</span>
+ <span class="identifier">c</span><span class="special">)</span></code>.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Amusingly, functions may even return functions. We shall see what this means
+ in a short while.
+ </p></td></tr>
+</table></div>
+<h4>
+<a name="phoenix.basics.h0"></a>
+ <span><a name="phoenix.basics.partial_function_application"></a></span><a class="link" href="basics.html#phoenix.basics.partial_function_application">Partial
+ Function Application</a>
+ </h4>
+<p>
+ Think of a function as a black box. You pass arguments and it returns something
+ back. The figure below depicts the typical scenario.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../images/fbox.png" alt="fbox"></span>
+ </p>
+<p>
+ A fully evaluated function is one in which all the arguments are given. All
+ functions in plain C++ are fully evaluated. When you call the <code class="computeroutput"><span class="identifier">sin</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> function, you have to pass a number x. The
+ function will return a result in return: the sin of x. When you call the <code class="computeroutput"><span class="identifier">add</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">)</span></code>
+ function, you have to pass two numbers x and y. The function will return the
+ sum of the two numbers. The figure below is a fully evaluated <code class="computeroutput"><span class="identifier">add</span></code> function.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../images/adder.png" alt="adder"></span>
+ </p>
+<p>
+ A partially applied function, on the other hand, is one in which not all the
+ arguments are supplied. If we are able to partially apply the function <code class="computeroutput"><span class="identifier">add</span></code> above, we may pass only the first argument.
+ In doing so, the function does not have all the required information it needs
+ to perform its task to compute and return a result. What it returns instead
+ is another function, a lambda function. Unlike the original <code class="computeroutput"><span class="identifier">add</span></code>
+ function which has an arity of 2, the resulting lambda function has an arity
+ of 1. Why? because we already supplied part of the input: <code class="computeroutput"><span class="number">2</span></code>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../images/add2.png" alt="add2"></span>
+ </p>
+<p>
+ Now, when we shove in a number into our lambda function, it will return 2 plus
+ whatever we pass in. The lambda function essentially remembers 1) the original
+ function, <code class="computeroutput"><span class="identifier">add</span></code>, and 2) the partial
+ input, 2. The figure below illustrates a case where we pass 3 to our lambda
+ function, which then returns 5:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../images/add2_call.png" alt="add2_call"></span>
+ </p>
+<p>
+ Obviously, partially applying the <code class="computeroutput"><span class="identifier">add</span></code>
+ function, as we see above, cannot be done directly in C++ where we are expected
+ to supply all the arguments that a function expects. That's where the Phoenix
+ library comes in. The library provides the facilities to do partial function
+ application. And even more, with Phoenix, these resulting functions won't be
+ black boxes anymore.
+ </p>
+<h4>
+<a name="phoenix.basics.h1"></a>
+ <span><a name="phoenix.basics.stl_and_higher_order_functions"></a></span><a class="link" href="basics.html#phoenix.basics.stl_and_higher_order_functions">STL
+ and higher order functions</a>
+ </h4>
+<p>
+ So, what's all the fuss? What makes partial function application so useful?
+ Recall our original example in the <a class="link" href="starter_kit/lazy_operators.html" title="Lazy Operators">previous
+ section</a>:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)</span>
+</pre>
+<p>
+ The expression <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">%</span>
+ <span class="number">2</span> <span class="special">==</span> <span class="number">1</span></code> evaluates to a lambda function. <code class="computeroutput"><span class="identifier">arg1</span></code> is a placeholder for an argument to
+ be supplied later. Hence, since there's only one unsupplied argument, the lambda
+ function has an arity 1. It just so happens that <code class="computeroutput"><span class="identifier">find_if</span></code>
+ supplies the unsupplied argument as it loops from <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span></code>
+ to <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span></code>.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Higher order functions are functions which can take other functions as arguments,
+ and may also return functions as results. Higher order functions are functions
+ that are treated like any other objects and can be used as arguments and
+ return values from functions.
+ </p></td></tr>
+</table></div>
+<h4>
+<a name="phoenix.basics.h2"></a>
+ <span><a name="phoenix.basics.lazy_evaluation"></a></span><a class="link" href="basics.html#phoenix.basics.lazy_evaluation">Lazy
+ Evaluation</a>
+ </h4>
+<p>
+ In Phoenix, to put it more accurately, function evaluation has two stages:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Partial application
+ </li>
+<li class="listitem">
+ Final evaluation
+ </li>
+</ol></div>
+<p>
+ The first stage is handled by a set of generator functions. These are your
+ front ends (in the client's perspective). These generators create (through
+ partial function application), higher order functions that can be passed on
+ just like any other function pointer or function object. The second stage,
+ the actual function call, can be invoked or executed anytime in the future,
+ or not at all; hence <span class="emphasis"><em>"lazy"</em></span>.
+ </p>
+<p>
+ If we look more closely, the first step involves partial function application:
+ </p>
+<pre class="programlisting"><span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span>
+</pre>
+<p>
+ The second step is the actual function invocation (done inside the <code class="computeroutput"><span class="identifier">find_if</span></code> function. These are the back-ends
+ (often, the final invocation is never actually seen by the client). In our
+ example, the <code class="computeroutput"><span class="identifier">find_if</span></code>, if we
+ take a look inside, we'll see something like:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">InputIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Predicate</span><span class="special">&gt;</span>
+<span class="identifier">InputIterator</span>
+<span class="identifier">find_if</span><span class="special">(</span><span class="identifier">InputIterator</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">InputIterator</span> <span class="identifier">last</span><span class="special">,</span> <span class="identifier">Predicate</span> <span class="identifier">pred</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">while</span> <span class="special">(</span><span class="identifier">first</span> <span class="special">!=</span> <span class="identifier">last</span> <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">pred</span><span class="special">(*</span><span class="identifier">first</span><span class="special">))</span> <span class="comment">// &lt;--- The lambda function is called here</span>
+ <span class="special">++</span><span class="identifier">first</span><span class="special">;</span> <span class="comment">// passing in *first</span>
+ <span class="keyword">return</span> <span class="identifier">first</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Again, typically, we, as clients, see only the first step. However, in this
+ document and in the examples and tests provided, don't be surprised to see
+ the first and second steps juxtaposed in order to illustrate the complete semantics
+ of Phoenix expressions. Examples:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">x</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span>
+<span class="keyword">int</span> <span class="identifier">y</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// prints 1 or true</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">(</span><span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)(</span><span class="identifier">y</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// prints 0 or false</span>
+</pre>
+<h4>
+<a name="phoenix.basics.h3"></a>
+ <span><a name="phoenix.basics.forwarding_function_problem"></a></span><a class="link" href="basics.html#phoenix.basics.forwarding_function_problem">Forwarding
+ Function Problem</a>
+ </h4>
+<p>
+ Usually, we, as clients, write the call-back functions while libraries (such
+ as STL) provide the callee (e.g. <code class="computeroutput"><span class="identifier">find_if</span></code>).
+ In case the role is reversed, e.g. if you have to write an STL algorithm that
+ takes in a predicate, or develop a GUI library that accepts event handlers,
+ you have to be aware of a little known problem in C++ called the "<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">Forwarding
+ Function Problem</a>".
+ </p>
+<p>
+ Look again at the code above:
+ </p>
+<pre class="programlisting"><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">x</span><span class="special">)</span>
+</pre>
+<p>
+ Notice that, in the second-stage (the final evaluation), we used a variable
+ <code class="computeroutput"><span class="identifier">x</span></code>.
+ </p>
+<p>
+ In Phoenix we emulated perfect forwarding through preprocessor macros generating
+ code to allow const and non-const references.
+ </p>
+<p>
+ We generate these second-stage overloads for Phoenix expression up to <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_PERFECT_FORWARD_LIMIT</span></code>
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You can set <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_PERFECT_FORWARD_LIMIT</span></code>,
+ the predefined maximum perfect forward arguments an actor can take. By default,
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_PERFECT_FORWARDLIMIT</span></code>
+ is set to 3.
+ </p></td></tr>
+</table></div>
+<h4>
+<a name="phoenix.basics.h4"></a>
+ <span><a name="phoenix.basics.polymorphic_functions"></a></span><a class="link" href="basics.html#phoenix.basics.polymorphic_functions">Polymorphic
+ Functions</a>
+ </h4>
+<p>
+ Unless otherwise noted, Phoenix generated functions are fully polymorphic.
+ For instance, the <code class="computeroutput"><span class="identifier">add</span></code> example
+ above can apply to integers, floating points, user defined complex numbers
+ or even strings. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">h</span><span class="special">(</span><span class="string">"Hello"</span><span class="special">);</span>
+<span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">w</span> <span class="special">=</span> <span class="string">" World"</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">r</span> <span class="special">=</span> <span class="identifier">add</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">h</span><span class="special">,</span> <span class="identifier">w</span><span class="special">);</span>
+</pre>
+<p>
+ evaluates to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">"Hello
+ World"</span><span class="special">)</span></code>. The observant
+ reader might notice that this function call in fact takes in heterogeneous
+ arguments where <code class="computeroutput"><span class="identifier">arg1</span></code> is of
+ type <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code> and <code class="computeroutput"><span class="identifier">arg2</span></code>
+ is of type <code class="computeroutput"><span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span></code>. <code class="computeroutput"><span class="identifier">add</span></code>
+ still works because the C++ standard library allows the expression <code class="computeroutput"><span class="identifier">a</span> <span class="special">+</span> <span class="identifier">b</span></code>
+ where <code class="computeroutput"><span class="identifier">a</span></code> is a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code>
+ and <code class="computeroutput"><span class="identifier">b</span></code> is a <code class="computeroutput"><span class="keyword">char</span>
+ <span class="keyword">const</span><span class="special">*</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="starter_kit/more.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="organization.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/examples.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/examples.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Advanced Examples - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="inside/placeholder_unification.html" title="Placeholder Unification">
+<link rel="next" href="examples/extending_actors.html" title="Extending Actors">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="inside/placeholder_unification.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="examples/extending_actors.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">
+<a name="phoenix.examples"></a><a class="link" href="examples.html" title="Advanced Examples">Advanced Examples</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Extending Actors</span></dt>
+<dt><span class="section">Adding an expression</span></dt>
+<dt><span class="section"><a href="examples/transforming_the_expression_tree.html">Transforming
+ the Expression Tree</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inside/placeholder_unification.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="examples/extending_actors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/examples/adding_an_expression.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/examples/adding_an_expression.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,173 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Adding an expression - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../examples.html" title="Advanced Examples">
+<link rel="prev" href="extending_actors.html" title="Extending Actors">
+<link rel="next" href="transforming_the_expression_tree.html" title="Transforming the Expression Tree">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="extending_actors.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.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="transforming_the_expression_tree.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.examples.adding_an_expression"></a><a class="link" href="adding_an_expression.html" title="Adding an expression">Adding an expression</a>
+</h3></div></div></div>
+<p>
+ This is not a toy example. This is actually part of the library. Remember
+ the <a class="link" href="../modules/statement/while__statement.html" title="while_ Statement"><code class="computeroutput"><span class="keyword">while</span></code></a> lazy statement? Putting together
+ everything we've learned so far, we eill present it here in its entirety
+ (verbatim):
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION</span><span class="special">(</span>
+ <span class="special">(</span><span class="identifier">boost</span><span class="special">)(</span><span class="identifier">phoenix</span><span class="special">)(</span><span class="identifier">while_</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Cond</span>
+ <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Do</span>
+<span class="special">)</span>
+
+<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">phoenix</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">while_eval</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Cond</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Do</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">&gt;</span>
+ <span class="identifier">result_type</span>
+ <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Cond</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">cond</span><span class="special">,</span> <span class="identifier">Do</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">do_</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">&amp;</span> <span class="identifier">ctx</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">while</span><span class="special">(</span><span class="identifier">eval</span><span class="special">(</span><span class="identifier">cond</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">))</span>
+ <span class="special">{</span>
+ <span class="identifier">eval</span><span class="special">(</span><span class="identifier">do_</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Dummy</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">default_actions</span><span class="special">::</span><span class="identifier">when</span><span class="special">&lt;</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">while_</span><span class="special">,</span> <span class="identifier">Dummy</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">call</span><span class="special">&lt;</span><span class="identifier">while_eval</span><span class="special">,</span> <span class="identifier">Dummy</span><span class="special">&gt;</span>
+ <span class="special">{};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Cond</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">while_gen</span>
+ <span class="special">{</span>
+ <span class="identifier">while_gen</span><span class="special">(</span><span class="identifier">Cond</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">cond</span><span class="special">)</span> <span class="special">:</span> <span class="identifier">cond</span><span class="special">(</span><span class="identifier">cond</span><span class="special">)</span> <span class="special">{}</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Do</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span>
+ <span class="keyword">operator</span><span class="special">[](</span><span class="identifier">Do</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">do_</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">make</span><span class="special">(</span><span class="identifier">cond</span><span class="special">,</span> <span class="identifier">do_</span><span class="special">);</span>
+ <span class="special">}</span>
+
+ <span class="identifier">Cond</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">cond</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Cond</span><span class="special">&gt;</span>
+ <span class="identifier">while_gen</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">&gt;</span> <span class="keyword">const</span>
+ <span class="identifier">while_</span><span class="special">(</span><span class="identifier">Cond</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">cond</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">while_gen</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">&gt;(</span><span class="identifier">cond</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}}</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">while_eval</span></code> is an example
+ of how to evaluate an expression. It gets called in the <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="keyword">while</span></code> action.
+ <code class="computeroutput"><span class="identifier">while_gen</span></code> and <code class="computeroutput"><span class="identifier">while_</span></code> are the expression template front
+ ends. Let's break this apart to undestand what's happening. Let's start at
+ the bottom. It's easier that way.
+ </p>
+<p>
+ When you write:
+ </p>
+<pre class="programlisting"><span class="identifier">while_</span><span class="special">(</span><span class="identifier">cond</span><span class="special">)</span>
+</pre>
+<p>
+ we generate an instance of <code class="computeroutput"><span class="identifier">while_gen</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">&gt;</span></code>, where <code class="computeroutput"><span class="identifier">Cond</span></code>
+ is the type of <code class="computeroutput"><span class="identifier">cond</span></code>. <code class="computeroutput"><span class="identifier">cond</span></code> can be an arbitrarily complex actor
+ expression. The <code class="computeroutput"><span class="identifier">while_gen</span></code>
+ template class has an <code class="computeroutput"><span class="keyword">operator</span><span class="special">[]</span></code> accepting another expression. If we write:
+ </p>
+<pre class="programlisting"><span class="identifier">while_</span><span class="special">(</span><span class="identifier">cond</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">do_</span>
+<span class="special">]</span>
+</pre>
+<p>
+ it will generate a proper composite with the type:
+ </p>
+<pre class="programlisting"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">type</span>
+</pre>
+<p>
+ where <code class="computeroutput"><span class="identifier">Cond</span></code> is the type of
+ <code class="computeroutput"><span class="identifier">cond</span></code> and <code class="computeroutput"><span class="identifier">Do</span></code>
+ is the type of <code class="computeroutput"><span class="identifier">do_</span></code>. Notice
+ how we are using Phoenix's <a class="link" href="../inside/expression.html" title="Phoenix Expressions">Expression</a>
+ mechanism here
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Do</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span>
+<span class="keyword">operator</span><span class="special">[](</span><span class="identifier">Do</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">do_</span><span class="special">)</span> <span class="keyword">const</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span> <span class="identifier">Do</span><span class="special">&gt;::</span><span class="identifier">make</span><span class="special">(</span><span class="identifier">cond</span><span class="special">,</span> <span class="identifier">do_</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Finally, the <code class="computeroutput"><span class="identifier">while_eval</span></code> does
+ its thing:
+ </p>
+<pre class="programlisting"><span class="keyword">while</span><span class="special">(</span><span class="identifier">eval</span><span class="special">(</span><span class="identifier">cond</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">))</span>
+<span class="special">{</span>
+ <span class="identifier">eval</span><span class="special">(</span><span class="identifier">do_</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">cond</span></code> and <code class="computeroutput"><span class="identifier">do_</span></code>,
+ at this point, are instances of <a class="link" href="../inside/actor.html" title="Actors in Detail">Actor</a>.
+ <code class="computeroutput"><span class="identifier">cond</span></code> and <code class="computeroutput"><span class="identifier">do_</span></code>
+ are the <a class="link" href="../inside/actor.html" title="Actors in Detail">Actors</a> passed as parameters
+ by <code class="computeroutput"><span class="identifier">call</span></code>, ctx is the <a class="link" href="../inside/actor.html" title="Actors in Detail">Context</a>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="extending_actors.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.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="transforming_the_expression_tree.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/examples/extending_actors.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/examples/extending_actors.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,335 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Extending Actors - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../examples.html" title="Advanced Examples">
+<link rel="prev" href="../examples.html" title="Advanced Examples">
+<link rel="next" href="adding_an_expression.html" title="Adding an expression">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../examples.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.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="adding_an_expression.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.examples.extending_actors"></a><a class="link" href="extending_actors.html" title="Extending Actors">Extending Actors</a>
+</h3></div></div></div>
+<p>
+ <a class="link" href="../inside/actor.html" title="Actors in Detail">Actors</a> are one of the main parts
+ of the library, and one of the many customization points. The default actor
+ implementation provides several operator() overloads which deal with the
+ evaluation of expressions.
+ </p>
+<p>
+ For some use cases this might not be enough. For convenience it is thinkable
+ to provide custom member functions which generate new expressions. An example
+ is the <a class="link" href="../modules/statement/___if_else_____statement.html" title="if_else_ Statement">if_else_
+Statement</a>
+ which provides an additional else member for generating a lazy if-else expression.
+ With this the actual Phoenix expression becomes more expressive.
+ </p>
+<p>
+ Another scenario is to give actors the semantics of a certain well known
+ interface or concept. This tutorial like section will provide information
+ on how to implement a custom actor which is usable as if it were a STL Container.
+ </p>
+<h5>
+<a name="phoenix.examples.extending_actors.h0"></a>
+ <span><a name="phoenix.examples.extending_actors.requirements"></a></span><a class="link" href="extending_actors.html#phoenix.examples.extending_actors.requirements">Requirements</a>
+ </h5>
+<p>
+ Let's repeat what we want to have:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns an iterator pointing to the first element in the container.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns an iterator pointing one past the last element in the container.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the size of the container, that is, its number of elements.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">max_size</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns the largest size that this container can ever have.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">empty</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to a.size() == 0. (But possibly faster.)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">swap</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Equivalent to swap(a,b)
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Additionally, we want all the operator() overloads of the regular actor.
+ </p>
+<h5>
+<a name="phoenix.examples.extending_actors.h1"></a>
+ <span><a name="phoenix.examples.extending_actors.defining_the_actor"></a></span><a class="link" href="extending_actors.html#phoenix.examples.extending_actors.defining_the_actor">Defining the
+ actor</a>
+ </h5>
+<p>
+ The first version of our <code class="computeroutput"><span class="identifier">container_actor</span></code>
+ interface will show the general principle. This will be continually extended.
+ For the sake of simplicity, every member function generator will return
+ <a class="link" href="../modules/core/nothing.html" title="Nothing"><code class="computeroutput"><span class="identifier">nothing</span></code></a>
+ at first.
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">container_actor</span>
+ <span class="special">:</span> <span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span> <span class="identifier">base_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">container_actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span> <span class="identifier">that_type</span><span class="special">;</span>
+
+ <span class="identifier">container_actor</span><span class="special">(</span> <span class="identifier">base_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">base</span> <span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">base_type</span><span class="special">(</span> <span class="identifier">base</span> <span class="special">)</span> <span class="special">{}</span>
+
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">nothing</span><span class="special">;</span> <span class="special">}</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">nothing</span><span class="special">;</span> <span class="special">}</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">nothing</span><span class="special">;</span> <span class="special">}</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">max_size</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">nothing</span><span class="special">;</span> <span class="special">}</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">empty</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">nothing</span><span class="special">;</span> <span class="special">}</span>
+
+ <span class="comment">// Note that swap is the only function needing another container.</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&gt;</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">swap</span><span class="special">(</span> <span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Container</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="special">)</span> <span class="keyword">const</span> <span class="special">{</span> <span class="keyword">return</span> <span class="identifier">nothing</span><span class="special">;</span> <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<h5>
+<a name="phoenix.examples.extending_actors.h2"></a>
+ <span><a name="phoenix.examples.extending_actors.using_the_actor"></a></span><a class="link" href="extending_actors.html#phoenix.examples.extending_actors.using_the_actor">Using
+ the actor</a>
+ </h5>
+<p>
+ Although the member functions do nothing right now, we want to test if we
+ can use our new actor.
+ </p>
+<p>
+ First, lets create a generator which wraps the <code class="computeroutput"><span class="identifier">container_actor</span></code>
+ around any other expression:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="identifier">container_actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span> <span class="keyword">const</span>
+<span class="identifier">container</span><span class="special">(</span> <span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">expr</span> <span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">expr</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Now let's test this:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">1</span><span class="special">);</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">2</span><span class="special">);</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">3</span><span class="special">);</span>
+
+<span class="special">(</span><span class="identifier">container</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">).</span><span class="identifier">size</span><span class="special">())(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ Granted, this is not really elegant and not very practical (we could have
+ just used phoenix::begin(v) from the <a class="link" href="../modules/stl/algorithm.html" title="Algorithm">Phoenix
+ algorithm module</a>, but we can do better.
+ </p>
+<p>
+ Let's have an <a class="link" href="../modules/core/arguments.html" title="Arguments">argument placeholder</a>
+ which is usable as if it was a STL container:
+ </p>
+<pre class="programlisting"><span class="identifier">container_actor</span><span class="special">&lt;</span><span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="identifier">con1</span><span class="special">;</span>
+<span class="comment">// and so on ...</span>
+</pre>
+<p>
+ The above example can be rewritten as:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">;</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">0</span><span class="special">);</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">1</span><span class="special">);</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">2</span><span class="special">);</span>
+<span class="identifier">v</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="number">3</span><span class="special">);</span>
+
+<span class="special">(</span><span class="identifier">con1</span><span class="special">.</span><span class="identifier">size</span><span class="special">())(</span><span class="identifier">v</span><span class="special">);</span>
+</pre>
+<p>
+ Wow, that was easy!
+ </p>
+<h5>
+<a name="phoenix.examples.extending_actors.h3"></a>
+ <span><a name="phoenix.examples.extending_actors.adding_life_to_the_actor"></a></span><a class="link" href="extending_actors.html#phoenix.examples.extending_actors.adding_life_to_the_actor">Adding
+ life to the actor</a>
+ </h5>
+<p>
+ This one will be even easier!
+ </p>
+<p>
+ First, we define a <a class="link" href="../modules/function.html" title="Function">lazy function</a>
+ which evaluates the expression we want to implement. Following is the implementation
+ of the size function:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">size_impl</span>
+<span class="special">{</span>
+ <span class="comment">// result_of protocol:</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">This</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Container</span><span class="special">)&gt;</span>
+ <span class="special">{</span>
+ <span class="comment">// Note, remove reference here, because Container can be anything</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">Container</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">container_type</span><span class="special">;</span>
+
+ <span class="comment">// The result will be size_type</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">container_type</span><span class="special">::</span><span class="identifier">size_type</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">size_impl</span><span class="special">(</span><span class="identifier">Container</span> <span class="keyword">const</span><span class="special">&amp;)&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Container</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">container</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">container</span><span class="special">.</span><span class="identifier">size</span><span class="special">();</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ Good, this was the first part. The second part will be to implement the size
+ member function of <code class="computeroutput"><span class="identifier">container_actor</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">container_actor</span>
+ <span class="special">:</span> <span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span> <span class="identifier">base_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">container_actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;</span> <span class="identifier">that_type</span><span class="special">;</span>
+
+ <span class="identifier">container_actor</span><span class="special">(</span> <span class="identifier">base_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">base</span> <span class="special">)</span>
+ <span class="special">:</span> <span class="identifier">base_type</span><span class="special">(</span> <span class="identifier">base</span> <span class="special">)</span> <span class="special">{}</span>
+
+ <span class="keyword">typename</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">size_impl</span><span class="special">,</span> <span class="identifier">that_type</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span>
+ <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">size_impl</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="identifier">f</span> <span class="special">=</span> <span class="identifier">size_impl</span><span class="special">();</span>
+ <span class="keyword">return</span> <span class="identifier">f</span><span class="special">(*</span><span class="keyword">this</span><span class="special">);</span>
+ <span class="special">}</span>
+
+ <span class="comment">// the rest ...</span>
+<span class="special">};</span>
+</pre>
+<p>
+ It is left as an exercise to the user to implement the missing parts by reusing
+ functions from the <a class="link" href="../modules/stl/algorithm.html" title="Algorithm">Phoenix
+ Algorithm Module</a> (the impatient take a look here: container_actor.cpp).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../examples.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.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="adding_an_expression.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/examples/transforming_the_expression_tree.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/examples/transforming_the_expression_tree.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,213 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Transforming the Expression Tree - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../examples.html" title="Advanced Examples">
+<link rel="prev" href="adding_an_expression.html" title="Adding an expression">
+<link rel="next" href="../wrap_up.html" title="Wrap Up">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="adding_an_expression.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.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="../wrap_up.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.examples.transforming_the_expression_tree"></a><a class="link" href="transforming_the_expression_tree.html" title="Transforming the Expression Tree">Transforming
+ the Expression Tree</a>
+</h3></div></div></div>
+<p>
+ This example will show how to write <a class="link" href="../inside/actions.html" title="More on Actions">Actions</a>
+ that transform the Phoenix AST.
+ </p>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ "<span class="emphasis"><em>Lisp macros transform the program structure itself, with
+ the full language available to express such transformations.</em></span>"
+ </p>
+<p>
+ Wikipedia
+ </p>
+</blockquote></div>
+<p>
+ What we want to do is to invert some arithmetic operators, i.e. plus will
+ be transformed to minus, minus to plus, multiplication to division and division
+ to multiplication.
+ </p>
+<p>
+ Let's start with defining our default action:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">invert_actions</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Rule</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">when</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span> <span class="comment">// the default is proto::_</span>
+ <span class="special">{};</span>
+<span class="special">};</span>
+</pre>
+<p>
+ By default, we don't want to do anything, well, not exactly nothing, but
+ just return the expression. This is done by proto::_
+ which, used as a transform, just passes the current expression along. Making
+ this action an identity transform.
+ </p>
+<p>
+ So, after the basics are set up, we can start by writing the transformations
+ we want to have on our tree:
+ </p>
+<pre class="programlisting"><span class="comment">// Transform plus to minus</span>
+<span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">invert_actions</span><span class="special">::</span><span class="identifier">when</span><span class="special">&lt;</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&gt;</span>
+ <span class="special">:</span> proto::call<span class="special">&lt;</span>
+ proto::functional::make_expr<span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">minus</span><span class="special">&gt;(</span>
+ <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_left</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_right</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">)</span>
+ <span class="special">&gt;</span>
+<span class="special">{};</span>
+</pre>
+<p>
+ Wow, this looks complicated! Granted you need to know a little bit about
+ Boost.Proto
+ (For a good introduction read through the <a href="http://cpp-next.com/archive/2010/08/expressive-c-introduction/" target="_top">Expressive
+ C++</a> series).
+ </p>
+<p>
+ What is done is the following:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ The left expression is passed to evaluator (with the current context,
+ that contains our invert_actions)
+ </li>
+<li class="listitem">
+ The right expression is passed to evaluator (with the current context,
+ that contains our invert_actions)
+ </li>
+<li class="listitem">
+ The result of these two <a href="/doc/libs/release/doc/html/Transform.html" target="_top">Proto
+ Transforms</a> is passed to proto::functional::make_expr which returns the
+ freshly created expression
+ </li>
+</ul></div>
+<p>
+ After you know what is going on, maybe the rest doesn't look so scary anymore:
+ </p>
+<pre class="programlisting"><span class="comment">// Transform minus to plus</span>
+<span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">invert_actions</span><span class="special">::</span><span class="identifier">when</span><span class="special">&lt;</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">minus</span><span class="special">&gt;</span>
+ <span class="special">:</span> proto::call<span class="special">&lt;</span>
+ proto::functional::make_expr<span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&gt;(</span>
+ <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_left</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_right</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">)</span>
+ <span class="special">&gt;</span>
+<span class="special">{};</span>
+
+<span class="comment">// Transform multiplies to divides</span>
+<span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">invert_actions</span><span class="special">::</span><span class="identifier">when</span><span class="special">&lt;</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">multiplies</span><span class="special">&gt;</span>
+ <span class="special">:</span> proto::call<span class="special">&lt;</span>
+ proto::functional::make_expr<span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">divides</span><span class="special">&gt;(</span>
+ <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_left</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_right</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">)</span>
+ <span class="special">&gt;</span>
+<span class="special">{};</span>
+
+<span class="comment">// Transform divides to multiplies</span>
+<span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">invert_actions</span><span class="special">::</span><span class="identifier">when</span><span class="special">&lt;</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">divides</span><span class="special">&gt;</span>
+ <span class="special">:</span> proto::call<span class="special">&lt;</span>
+ proto::functional::make_expr<span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">multiplies</span><span class="special">&gt;(</span>
+ <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_left</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_right</span><span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">_context</span><span class="special">)</span>
+ <span class="special">)</span>
+ <span class="special">&gt;</span>
+<span class="special">{};</span>
+</pre>
+<p>
+ That's it! Now that we have our actions defined, we want to evaluate some
+ of our expressions with them:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="comment">// Calculate the result type: our transformed AST</span>
+<span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">&lt;</span>
+ <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">evaluator</span><span class="special">(</span>
+ <span class="identifier">Expr</span> <span class="keyword">const</span><span class="special">&amp;</span>
+ <span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">context</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">invert_actions</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="special">)</span>
+<span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">expr</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span>
+ <span class="comment">// Evaluate it with our actions</span>
+ <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">eval</span><span class="special">(</span>
+ <span class="identifier">expr</span>
+ <span class="special">,</span> <span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">context</span><span class="special">(</span>
+ <span class="keyword">int</span><span class="special">()</span>
+ <span class="special">,</span> <span class="identifier">invert_actions</span><span class="special">()</span>
+ <span class="special">)</span>
+ <span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Run some tests to see if it is working:
+ </p>
+<pre class="programlisting"><span class="identifier">invert</span><span class="special">(</span><span class="identifier">_1</span><span class="special">);</span> <span class="comment">// --&gt; _1</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">+</span> <span class="identifier">_2</span><span class="special">);</span> <span class="comment">// --&gt; _1 - _2</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">+</span> <span class="identifier">_2</span> <span class="special">-</span> <span class="identifier">_3</span><span class="special">);</span> <span class="comment">// --&gt; _1 - _2 + _3</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">*</span> <span class="identifier">_2</span><span class="special">);</span> <span class="comment">// --&gt; _1 / _2</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">*</span> <span class="identifier">_2</span> <span class="special">/</span> <span class="identifier">_3</span><span class="special">);</span> <span class="comment">// --&gt; _1 / _2 * _3</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">*</span> <span class="identifier">_2</span> <span class="special">+</span> <span class="identifier">_3</span><span class="special">);</span> <span class="comment">// --&gt; _1 / _2 - _3</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">*</span> <span class="identifier">_2</span> <span class="special">-</span> <span class="identifier">_3</span><span class="special">);</span> <span class="comment">// --&gt; _1 / _2 + _2</span>
+<span class="identifier">invert</span><span class="special">(</span><span class="identifier">if_</span><span class="special">(</span><span class="identifier">_1</span> <span class="special">*</span> <span class="identifier">_4</span><span class="special">)[</span><span class="identifier">_2</span> <span class="special">-</span> <span class="identifier">_3</span><span class="special">]);</span> <span class="comment">// --&gt; if_(_1 / _4)[_2 + _3]</span>
+<span class="identifier">_1</span> <span class="special">*</span> <span class="identifier">invert</span><span class="special">(</span><span class="identifier">_2</span> <span class="special">-</span> <span class="identifier">_3</span><span class="special">));</span> <span class="comment">// --&gt; _1 * _2 + _3</span>
+</pre>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/note.png" alt="note"></span> The complete example can be found here: example/invert.cpp
+ </p>
+<p>
+ <span class="emphasis"><em>Pretty simple ...</em></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="adding_an_expression.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../examples.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="../wrap_up.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Inside Phoenix - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="modules/stl/algorithm.html" title="Algorithm">
+<link rel="next" href="inside/actor.html" title="Actors in Detail">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="modules/stl/algorithm.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="inside/actor.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">
+<a name="phoenix.inside"></a><a class="link" href="inside.html" title="Inside Phoenix">Inside Phoenix</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Actors in Detail</span></dt>
+<dt><span class="section">Phoenix Expressions</span></dt>
+<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>
+<dt><span class="section">Placeholder Unification</span></dt>
+</dl></div>
+<p>
+ This chapter explains in more detail how the library operates. The information
+ henceforth should not be necessary to those who are interested in just using
+ the library. However, a microscopic view might prove to be beneficial to advanced
+ programmers who wish to extend the library.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="modules/stl/algorithm.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="inside/actor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/actions.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/actions.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,224 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>More on Actions - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../inside.html" title="Inside Phoenix">
+<link rel="prev" href="expression/boilerplate_macros.html" title="Boilerplate Macros">
+<link rel="next" href="rules.html" title="Predefined Expressions and Rules">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<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">
+<a name="phoenix.inside.actions"></a><a class="link" href="actions.html" title="More on Actions">More on Actions</a>
+</h3></div></div></div>
+<p>
+ As you know from the <a class="link" href="actor.html" title="Actors in Detail">Actors in Detail</a>
+ section, Actions are what brings life to a Phoenix expression tree.
+ </p>
+<p>
+ When dealing with a Phoenix expression tree, it gets evaluated top-down.
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">_1</span> <span class="special">+</span> <span class="number">3</span> <span class="special">*</span> <span class="identifier">_2</span>
+</pre>
+<p>
+ Can be visualized as an AST in the following way:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/simple_ast.png" alt="simple_ast"></span>
+ </p>
+<p>
+ In terms of actions this means:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus</span></code> is matched
+ </li>
+<li class="listitem">
+ evaluate left:
+ <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">placeholder</span></code> is matched
+ </li></ul></div>
+ </li>
+<li class="listitem">
+ evaluate right:
+ <div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem">
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">multiplies</span></code> is matched
+ <div class="itemizedlist"><ul class="itemizedlist" type="square">
+<li class="listitem">
+ evaluate left:
+ <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">value</span></code>
+ is matched
+ </li></ul></div>
+ </li>
+<li class="listitem">
+ evaluate right:
+ <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">placeholder</span></code>
+ is matched
+ </li></ul></div>
+ </li>
+</ul></div>
+ </li></ul></div>
+ </li>
+</ul></div>
+<p>
+ Every time a rule is matched, an action will be called. The action determines
+ how the Phoenix AST will be traversed.
+ </p>
+<h5>
+<a name="phoenix.inside.actions.h0"></a>
+ <span><a name="phoenix.inside.actions.writing_an_action"></a></span><a class="link" href="actions.html#phoenix.inside.actions.writing_an_action">Writing
+ an Action</a>
+ </h5>
+<p>
+ As mentioned in <a class="link" href="actor.html" title="Actors in Detail">Actors in Detail</a>
+ actions are <a href="/doc/libs/release/doc/html/PrimitiveTransform.html" target="_top">Proto
+ Primitive Transforms</a> for convenience Phoenix provides an abstraction
+ to this:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Fun</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">call</span><span class="special">;</span>
+</pre>
+<p>
+ This is similar to proto::call but does more. It calls the
+ <code class="computeroutput"><span class="identifier">Fun</span></code> function object passed
+ as template parameter with the <code class="computeroutput"><span class="identifier">Context</span></code>
+ and the children of the expression associated with the rule.
+ </p>
+<p>
+ Lets have an (simplified) example on how to write an evaluation action for
+ <code class="computeroutput"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">plus_eval</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Lhs</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">Rhs</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="identifier">rhs</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">&amp;</span> <span class="identifier">ctx</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">eval</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">eval</span><span class="special">(</span><span class="identifier">rhs</span><span class="special">,</span> <span class="identifier">ctx</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">default_actions</span><span class="special">::</span><span class="identifier">when</span><span class="special">&lt;</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">call</span><span class="special">&lt;</span><span class="identifier">plus_eval</span><span class="special">&gt;</span>
+<span class="special">{};</span>
+</pre>
+<p>
+ That's it. When evaluating a <code class="computeroutput"><span class="identifier">plus</span></code>
+ expression, the <code class="computeroutput"><span class="identifier">plus_eval</span></code>
+ callable gets called with the left hand side and right hand side expression
+ and the associated Context.
+ </p>
+<p>
+ <span class="bold"><strong>But there is more:</strong></span> As Actions <span class="emphasis"><em>can</em></span>
+ be full fletched <a href="/doc/libs/release/doc/html/Transform.html" target="_top">Proto
+ Transforms</a>, you can in fact use any proto expression you can imagine
+ as the action. Phoenix predifines a set of callables and transform to deal
+ with the Context information passed along and of course every Phoenix expression
+ can be used as a Phoenix grammar or <a href="/doc/libs/release/doc/html/boost/proto/pass_through.html" target="_top">Proto
+ Pass Through Transform</a>.
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">functional</span><span class="special">::</span><span class="identifier">context</span><span class="special">(</span><span class="identifier">Env</span><span class="special">,</span> <span class="identifier">Actions</span><span class="special">)</span></code></span></dt>
+<dd><p>
+ A <a href="/doc/libs/release/doc/html/Callable.html" target="_top">Proto
+ Callable Transform</a> that creates a new context out of the <code class="computeroutput"><span class="identifier">Env</span></code> and <code class="computeroutput"><span class="identifier">Actions</span></code>
+ parameter
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">functional</span><span class="special">::</span><span class="identifier">env</span><span class="special">(</span><span class="identifier">Context</span><span class="special">)</span></code></span></dt>
+<dd><p>
+ A <a href="/doc/libs/release/doc/html/Callable.html" target="_top">Proto
+ Callable Transform</a> that returns the environment out of the
+ <code class="computeroutput"><span class="identifier">Context</span></code> parameter
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">functional</span><span class="special">::</span><span class="identifier">actions</span><span class="special">(</span><span class="identifier">Context</span><span class="special">)</span></code></span></dt>
+<dd><p>
+ A <a href="/doc/libs/release/doc/html/Callable.html" target="_top">Proto
+ Callable Transform</a> that returns the actions out of the <code class="computeroutput"><span class="identifier">Context</span></code> parameter
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">_context</span></code></span></dt>
+<dd><p>
+ A <a href="/doc/libs/release/doc/html/PrimitiveTransform.html" target="_top">Proto
+ Primitive Transform</a> that returns the current context
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">_env</span></code></span></dt>
+<dd><p>
+ A <a href="/doc/libs/release/doc/html/PrimitiveTransform.html" target="_top">Proto
+ Primitive Transform</a> that returns the current environment
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">_actions</span></code></span></dt>
+<dd><p>
+ A <a href="/doc/libs/release/doc/html/PrimitiveTransform.html" target="_top">Proto
+ Primitive Transform</a> that returns the current actions
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">context</span><span class="special">(</span><span class="identifier">env</span><span class="special">,</span> <span class="identifier">actions</span><span class="special">)</span></code></span></dt>
+<dd><p>
+ A regular function that creates a context
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">env</span><span class="special">(</span><span class="identifier">ctx</span><span class="special">)</span></code></span></dt>
+<dd><p>
+ A regular function that returns the environment from the given context
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">actions</span><span class="special">(</span><span class="identifier">ctx</span><span class="special">)</span></code></span></dt>
+<dd><p>
+ A regular function that returns the actions from the given context
+ </p></dd>
+</dl>
+</div>
+<p>
+ Phoenix is equipped with a predefined set of expressions, rules and actions
+ to make all the stuff work you learned in the <a class="link" href="../starter_kit.html" title="Starter Kit">Starter
+ Kit</a> and <a class="link" href="../modules.html" title="Modules">Modules</a> sections. See
+ the <a class="link" href="rules.html" title="Predefined Expressions and Rules">next section</a> for more details!
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="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>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/actor.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/actor.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,426 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Actors in Detail - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../inside.html" title="Inside Phoenix">
+<link rel="prev" href="../inside.html" title="Inside Phoenix">
+<link rel="next" href="expression.html" title="Phoenix Expressions">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../inside.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.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.actor"></a><a class="link" href="actor.html" title="Actors in Detail">Actors in Detail</a>
+</h3></div></div></div>
+<h5>
+<a name="phoenix.inside.actor.h0"></a>
+ <span><a name="phoenix.inside.actor.actor"></a></span><a class="link" href="actor.html#phoenix.inside.actor.actor">Actor</a>
+ </h5>
+<p>
+ The main concept is the <code class="computeroutput"><span class="identifier">Actor</span></code>.
+ An <code class="computeroutput"><span class="identifier">Actor</span></code> is a model of the
+ <a href="/doc/libs/release/libs/fusion/doc/html/fusion/functional/concepts/poly.html" target="_top">Polymorphic
+ Function Object</a> concept (that can accept 0 to N arguments (where
+ N is a predefined maximum).
+ </p>
+<p>
+ An <code class="computeroutput"><span class="identifier">Actor</span></code> contains a valid
+ Phoenix Expression, a call to one of the function call operator overloads,
+ starts the evaluation process.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You can set <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>,
+ the predefined maximum arity an actor can take. By default, <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code> is set to 10.
+ </p></td></tr>
+</table></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">actor</span></code> template class
+ models the <code class="computeroutput"><span class="identifier">Actor</span></code> concept:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">actor</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
+
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">()()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">T0</span> <span class="special">&amp;&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T0</span><span class="special">&amp;</span> <span class="identifier">_0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">T0</span> <span class="keyword">const</span> <span class="special">&amp;&gt;::</span><span class="identifier">type</span>
+ <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T0</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">_0</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">//...</span>
+<span class="special">};</span>
+</pre>
+<div class="table">
+<a name="phoenix.inside.actor.t0"></a><p class="title"><b>Table&#160;1.9.&#160;Actor Concept Requirements</b></p>
+<div class="table-contents"><table class="table" summary="Actor Concept Requirements">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">actor</span><span class="special">(</span><span class="identifier">arg0</span><span class="special">,</span>
+ <span class="identifier">arg1</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">argN</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Function call operators to start the evaluation
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">&lt;</span><span class="identifier">Actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">&gt;(</span><span class="identifier">Arg0</span><span class="special">,</span>
+ <span class="identifier">Arg1</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">ArgN</span><span class="special">)&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Result of the evaluation
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">,</span>
+ <span class="identifier">Arg0</span><span class="special">,</span>
+ <span class="identifier">Arg1</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">ArgN</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Result of the evaluation
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="phoenix.inside.actor.h1"></a>
+ <span><a name="phoenix.inside.actor.function_call_operators"></a></span><a class="link" href="actor.html#phoenix.inside.actor.function_call_operators">Function
+ Call Operators</a>
+ </h5>
+<p>
+ There are 2*N function call operators for 0 to N arguments (N == <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>). The actor class accepts
+ the arguments and forwards the arguments to the default evaluation action.
+ </p>
+<p>
+ Additionally, there exist function call operators accepting permutations
+ of const and non-const references. These operators are created for all N
+ &lt;= <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_PERFECT_FORWARD_LIMIT</span></code>
+ (which defaults to 3).
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ <span class="bold"><strong>Forwarding Function Problem</strong></span>
+ </p>
+<p>
+ There is a known issue with current C++ called the "<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">Forwarding
+ Function Problem</a>". The problem is that given an arbitrary
+ function <code class="computeroutput"><span class="identifier">F</span></code>, using current
+ C++ language rules, one cannot create a forwarding function <code class="computeroutput"><span class="identifier">FF</span></code> that transparently assumes the arguments
+ of <code class="computeroutput"><span class="identifier">F</span></code>.
+ </p>
+</td></tr>
+</table></div>
+<h5>
+<a name="phoenix.inside.actor.h2"></a>
+ <span><a name="phoenix.inside.actor.context"></a></span><a class="link" href="actor.html#phoenix.inside.actor.context">Context</a>
+ </h5>
+<p>
+ On an actor function call, before calling the evaluation function, the actor
+ created a <span class="bold"><strong>context</strong></span>. This context consists
+ of an <code class="computeroutput"><span class="identifier">Environment</span></code> and an
+ <code class="computeroutput"><span class="identifier">Action</span></code> part. These contain
+ all information necessary to evaluate the given expression.
+ </p>
+<div class="table">
+<a name="phoenix.inside.actor.t1"></a><p class="title"><b>Table&#160;1.10.&#160;Context Concept Requirements</b></p>
+<div class="table-contents"><table class="table" summary="Context Concept Requirements">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">context</span><span class="special">&lt;</span><span class="identifier">Env</span><span class="special">,</span>
+ <span class="identifier">Actions</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Type of a Context
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">context</span><span class="special">(</span><span class="identifier">e</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A Context containing environment <code class="computeroutput"><span class="identifier">e</span></code>
+ and actions <code class="computeroutput"><span class="identifier">a</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">env</span><span class="special">&lt;</span><span class="identifier">Context</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Type of the contained Environment
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">env</span><span class="special">(</span><span class="identifier">ctx</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The environment
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actions</span><span class="special">&lt;</span><span class="identifier">Context</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Type of the contained Actions
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">actions</span><span class="special">(</span><span class="identifier">ctx</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The actions
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="phoenix.inside.actor.h3"></a>
+ <span><a name="phoenix.inside.actor.environment"></a></span><a class="link" href="actor.html#phoenix.inside.actor.environment">Environment</a>
+ </h5>
+<p>
+ The Environment is a model of <a href="/doc/libs/release/libs/fusion/doc/html/fusion/sequence/concepts/random_access_sequence.html" target="_top">Random
+ Access Sequence</a>.
+ </p>
+<p>
+ The arguments passed to the actor's function call operator are collected
+ inside the Environment:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/funnel_in.png" alt="funnel_in"></span>
+ </p>
+<p>
+ Other parts of the library (e.g. the scope module) extends the <code class="computeroutput"><span class="identifier">Environment</span></code> concept to hold other information
+ such as local variables, etc.
+ </p>
+<h5>
+<a name="phoenix.inside.actor.h4"></a>
+ <span><a name="phoenix.inside.actor.actions"></a></span><a class="link" href="actor.html#phoenix.inside.actor.actions">Actions</a>
+ </h5>
+<p>
+ Actions is the part of Phoenix which are responsible for giving the actual
+ expressions a specific behaviour. During the traversal of the Phoenix Expression
+ Tree these actions are called whenever a specified rule in the grammar matches.
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">actions</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Rule</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">when</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ The nested <code class="computeroutput"><span class="identifier">when</span></code> template
+ is required to be <a href="/doc/libs/release/doc/html/PrimitiveTransform.html" target="_top">Proto
+ Primitive Transform</a>. No worries, you don't have to learn Boost.Proto
+ just yet! Phoenix provides some wrappers to let you define simple actions
+ without the need to dive deep into proto.
+ </p>
+<p>
+ Phoenix ships with a predefined <code class="computeroutput"><span class="identifier">default_actions</span></code>
+ class that evaluates the expressions with C++ semantics:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">default_actions</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Rule</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Dummy</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">when</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">_default</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">};</span>
+</pre>
+<p>
+ For more information on how to use the default_actions class and how to attach
+ custom actions to the evaluation process, see <a class="link" href="actions.html" title="More on Actions">more
+ on actions</a>.
+ </p>
+<h5>
+<a name="phoenix.inside.actor.h5"></a>
+ <span><a name="phoenix.inside.actor.evaluation"></a></span><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>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">&gt;</span>
+ <span class="emphasis"><em>unspecified</em></span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Expr</span> <span class="special">&amp;,</span> <span class="identifier">Context</span> <span class="special">&amp;);</span>
+<span class="special">};</span>
+
+<span class="identifier">evaluator</span> <span class="keyword">const</span> <span class="identifier">eval</span> <span class="special">=</span> <span class="special">{};</span>
+</pre>
+<p>
+ The evaluation of a Phoenix expression is started by a call to the function
+ call operator of <code class="computeroutput"><span class="identifier">evaluator</span></code>.
+ </p>
+<p>
+ The evaluator is called by the <code class="computeroutput"><span class="identifier">actor</span></code>
+ function operator overloads after the context is built up. For reference,
+ here is a typical <code class="computeroutput"><span class="identifier">actor</span><span class="special">::</span><span class="keyword">operator</span><span class="special">()</span></code>
+ that accepts two arguments:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span><span class="special">&lt;</span><span class="identifier">Expr</span><span class="special">,</span> <span class="identifier">T0</span> <span class="special">&amp;,</span> <span class="identifier">T1</span> <span class="special">&amp;&gt;::</span><span class="identifier">type</span>
+<span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T0</span> <span class="special">&amp;</span><span class="identifier">t0</span><span class="special">,</span> <span class="identifier">T1</span> <span class="special">&amp;</span><span class="identifier">t1</span><span class="special">)</span> <span class="keyword">const</span>
+<span class="special">{</span>
+ <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector2</span><span class="special">&lt;</span><span class="identifier">T0</span> <span class="special">&amp;,</span> <span class="identifier">T1</span> <span class="special">&amp;&gt;</span> <span class="identifier">env</span><span class="special">(</span><span class="identifier">t0</span><span class="special">,</span> <span class="identifier">t1</span><span class="special">);</span>
+
+ <span class="keyword">return</span> <span class="identifier">eval</span><span class="special">(*</span><span class="keyword">this</span><span class="special">,</span> <span class="identifier">context</span><span class="special">(</span><span class="identifier">env</span><span class="special">,</span> <span class="identifier">default_actions</span><span class="special">()));</span>
+<span class="special">}</span>
+</pre>
+<h5>
+<a name="phoenix.inside.actor.h6"></a>
+ <span><a name="phoenix.inside.actor.result_of__actor"></a></span><a class="link" href="actor.html#phoenix.inside.actor.result_of__actor">result_of::actor</a>
+ </h5>
+<p>
+ For reasons of symmetry to the family of <code class="computeroutput"><span class="identifier">actor</span><span class="special">::</span><span class="keyword">operator</span><span class="special">()</span></code> there is a special metafunction usable
+ for actor result type calculation named <code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">actor</span></code>.
+ This metafunction allows us to directly specify the types of the parameters
+ to be passed to the <code class="computeroutput"><span class="identifier">actor</span><span class="special">::</span><span class="keyword">operator</span><span class="special">()</span></code> function. Here's a typical <code class="computeroutput"><span class="identifier">actor_result</span></code> that accepts two arguments:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">result_of</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Expr</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">actor</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector2</span><span class="special">&lt;</span><span class="identifier">T0</span><span class="special">,</span> <span class="identifier">T1</span><span class="special">&gt;</span> <span class="identifier">env_tpe</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">context</span><span class="special">&lt;</span><span class="identifier">env_type</span><span class="special">,</span> <span class="identifier">default_actions</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">ctx_type</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">&lt;</span><span class="identifier">evaluator</span><span class="special">(</span><span class="identifier">Expr</span> <span class="keyword">const</span><span class="special">&amp;,</span> <span class="identifier">ctx_type</span><span class="special">)&gt;::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+<span class="special">}</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../inside.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.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/custom_terminals.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/custom_terminals.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Custom Terminals - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../inside.html" title="Inside Phoenix">
+<link rel="prev" href="rules.html" title="Predefined Expressions and Rules">
+<link rel="next" href="placeholder_unification.html" title="Placeholder Unification">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="rules.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="placeholder_unification.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.custom_terminals"></a><a class="link" href="custom_terminals.html" title="Custom Terminals">Custom Terminals</a>
+</h3></div></div></div>
+<p>
+ Custom Terminals are used in Phoenix to handle special values transparently.
+ For example, as Phoenix captures everything by value, we needed to use <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span></code> to bring reference semantics
+ into Phoenix.
+ </p>
+<p>
+ Custom terminals could be any wrapper class:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">is_custom_terminal</span><span class="special">;</span>
+</pre>
+<p>
+ needs to be specialized in order for Phoenix to recognize this wrapper type.
+ <code class="computeroutput"><span class="identifier">default_action</span></code> calls <code class="computeroutput"><span class="identifier">custom_terminal</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="comment">// Call out boost::reference_wrapper for special handling</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">is_custom_terminal</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span>
+<span class="special">{};</span>
+
+<span class="comment">// Special handling for boost::reference_wrapper</span>
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">custom_terminal</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="special">&amp;</span><span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Context</span><span class="special">&gt;</span>
+ <span class="identifier">T</span> <span class="special">&amp;</span><span class="keyword">operator</span><span class="special">()(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">reference_wrapper</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">r</span><span class="special">,</span> <span class="identifier">Context</span> <span class="special">&amp;)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">r</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rules.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="placeholder_unification.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/expression.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/expression.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,288 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Phoenix Expressions - Boost 1.50.0</title>
+<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&#160;1.&#160;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/boilerplate_macros.html" title="Boilerplate Macros">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<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/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"><a href="expression/boilerplate_macros.html">Boilerplate
+ Macros</a></span></dt></dl></div>
+<p>
+ A Phoenix Expression is a model of the <a href="/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>
+ provides the function call operator which evaluates the expressions. The
+ <code class="computeroutput"><span class="identifier">actor</span></code> is the domain specific
+ wrapper around Phoenix expressions.
+ </p>
+<p>
+ By design, Phoenix Expressions do not carry any information on how they will
+ be evaluated later on. They are the data structure on which the <code class="computeroutput"><span class="identifier">Actions</span></code> will work.
+ </p>
+<p>
+ The library provides a convenience template to define expressions:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span><span class="special">&gt;</span> <span class="identifier">Actor</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">expr_ext</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">transform</span><span class="special">&lt;</span><span class="identifier">expr_ext</span><span class="special">&lt;</span><span class="identifier">Actor</span><span class="special">,</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">A0</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">A1</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">base_expr</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Actor</span><span class="special">&lt;</span><span class="identifier">base_expr</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
+
+ <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">proto_grammar</span><span class="special">;</span>
+
+ <span class="keyword">static</span> <span class="identifier">type</span> <span class="identifier">make</span><span class="special">(</span><span class="identifier">A0</span> <span class="identifier">a0</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">A1</span> <span class="identifier">a1</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">expr</span> <span class="special">:</span> <span class="identifier">expr_ext</span><span class="special">&lt;</span><span class="identifier">actor</span><span class="special">,</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="identifier">A0</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">A1</span><span class="special">&gt;</span> <span class="special">{};</span>
+</pre>
+<p>
+ <span class="bold"><strong>Notation</strong></span>
+ </p>
+<div class="variablelist">
+<p class="title"><b></b></p>
+<dl>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">A0</span><span class="special">...</span><span class="identifier">AN</span></code></span></dt>
+<dd><p>
+ Child node types
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">a0</span><span class="special">...</span><span class="identifier">aN</span></code></span></dt>
+<dd><p>
+ Child node objects
+ </p></dd>
+<dt><span class="term"><code class="computeroutput"><span class="identifier">G0</span><span class="special">...</span><span class="identifier">GN</span></code></span></dt>
+<dd><p>
+ Boost.Proto
+ grammar types
+ </p></dd>
+</dl>
+</div>
+<p>
+ <span class="bold"><strong>Expression Semantics</strong></span>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expr</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">...</span><span class="identifier">AN</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ The type of Expression having tag <code class="computeroutput"><span class="identifier">Tag</span></code>
+ and <code class="computeroutput"><span class="identifier">A0</span><span class="special">...</span><span class="identifier">AN</span></code> children
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expr</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">,</span>
+ <span class="identifier">G0</span><span class="special">...</span><span class="identifier">GN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ A Boost.Proto
+ grammar and <a href="/doc/libs/release/doc/html/boost/proto/pass_through.html" target="_top">Proto
+ Pass Through Transform</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expr</span><span class="special">&lt;</span><span class="identifier">Tag</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">...</span><span class="identifier">AN</span><span class="special">&gt;::</span><span class="identifier">make</span><span class="special">(</span><span class="identifier">a0</span><span class="special">...</span><span class="identifier">aN</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ Returns a Phoenix Expression
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You might have noticed the template template argument <code class="computeroutput"><span class="identifier">Actor</span></code>
+ used in <code class="computeroutput"><span class="identifier">expr_ext</span></code>. This
+ can be a user supplied custom Actor adding other member functions or objects
+ than the default <code class="computeroutput"><span class="identifier">actor</span></code>
+ template. See <a class="link" href="../examples/extending_actors.html" title="Extending Actors">Extending
+ Actors</a> for more details.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="phoenix.inside.expression.h0"></a>
+ <span><a name="phoenix.inside.expression.meta_grammar"></a></span><a class="link" href="expression.html#phoenix.inside.expression.meta_grammar">meta_grammar</a>
+ </h5>
+<p>
+ Defining expressions is only part of the game to make it a valid Phoenix
+ Expression. In order to use the expressions in the Phoenix domain, we need
+ to "register" them to our grammar.
+ </p>
+<p>
+ The <code class="computeroutput"><span class="identifier">meta_grammar</span></code> is a struct
+ for exactly that purpose. It is an openly extendable Boost.Proto
+ Grammar:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">meta_grammar</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">switch_</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Dummy</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">case_</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">not_</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">};</span>
+</pre>
+<p>
+ As you can see, by default the <code class="computeroutput"><span class="identifier">meta_grammar</span></code>
+ matches nothing. With every <a class="link" href="../modules.html" title="Modules">Module</a>
+ you include this grammar gets extended by various expressions.
+ </p>
+<h5>
+<a name="phoenix.inside.expression.h1"></a>
+ <span><a name="phoenix.inside.expression.example"></a></span><a class="link" href="expression.html#phoenix.inside.expression.example">Example</a>
+ </h5>
+<p>
+ Define an expression:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">plus</span>
+ <span class="special">:</span> <span class="identifier">expr</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">plus</span><span class="special">,</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">&gt;</span>
+<span class="special">{};</span>
+</pre>
+<p>
+ And add it to the grammar:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">meta_grammar</span><span class="special">::</span><span class="identifier">case_</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&gt;</span>
+ <span class="special">:</span> <span class="identifier">enable_rule</span><span class="special">&lt;</span>
+ <span class="identifier">plus</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+<span class="special">{};</span>
+</pre>
+<p>
+ Define a generator function to make the life of our potential users easier:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">plus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">plus</span><span class="special">(</span><span class="identifier">Lhs</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">Rhs</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">&gt;::</span><span class="identifier">make</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Look if it really works:
+ </p>
+<pre class="programlisting"><span class="identifier">plus</span><span class="special">(</span><span class="number">6</span><span class="special">,</span> <span class="number">5</span><span class="special">)();</span>
+</pre>
+<p>
+ returns 11!
+ </p>
+<pre class="programlisting"><span class="identifier">proto</span><span class="special">::</span><span class="identifier">display_expr</span><span class="special">(</span><span class="identifier">plus</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">6</span><span class="special">));</span>
+</pre>
+<p>
+ prints:
+ </p>
+<pre class="programlisting"><span class="identifier">plus</span><span class="special">(</span>
+ <span class="identifier">terminal</span><span class="special">(</span><span class="number">6</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">terminal</span><span class="special">(</span><span class="number">5</span><span class="special">)</span>
+<span class="special">)</span>
+</pre>
+<p>
+ See define_expression.cpp
+ for the full example.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The example shown here only works because <code class="computeroutput"><span class="identifier">default_actions</span></code>
+ knows how to handle an expression having the <code class="computeroutput"><span class="identifier">proto</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">plus</span></code>
+ and two children. This is because <code class="computeroutput"><span class="identifier">default_actions</span></code>
+ uses the <code class="computeroutput"><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_default</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span></code>
+ transform to evaluate operators and functions. Learn more about actions
+ <a class="link" href="actions.html" title="More on Actions">here</a>.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="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>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/expression/boilerplate_macros.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/expression/boilerplate_macros.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,530 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Boilerplate Macros - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../expression.html" title="Phoenix Expressions">
+<link rel="prev" href="../expression.html" title="Phoenix Expressions">
+<link rel="next" href="../actions.html" title="More on Actions">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../expression.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expression.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="../actions.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.inside.expression.boilerplate_macros"></a><a class="link" href="boilerplate_macros.html" title="Boilerplate Macros">Boilerplate
+ Macros</a>
+</h4></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>
+<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 class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression"></a><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression" title="BOOST_PHOENIX_DEFINE_EXPRESSION">BOOST_PHOENIX_DEFINE_EXPRESSION</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.h0"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.description"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to create Phoenix Expressions
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.h1"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.synopsis"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.synopsis">Synopsis</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION</span><span class="special">(</span>
+ <span class="special">(</span><span class="identifier">namespace_seq</span><span class="special">)(</span><span class="identifier">name</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">child_grammar0</span><span class="special">)</span>
+ <span class="special">(</span><span class="identifier">child_grammar1</span><span class="special">)</span>
+ <span class="special">...</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.h2"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.semantics"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates the necessary code for an expression <code class="computeroutput"><span class="identifier">name</span></code> in namespace <code class="computeroutput"><span class="identifier">namespace_seq</span></code>.
+ The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">child_grammarN</span><span class="special">)</span></code> declares how many children the expression
+ will have and what <code class="computeroutput"><span class="identifier">proto</span><span class="special">::</span><span class="identifier">grammar</span></code>
+ they match.
+ </p>
+<p>
+ The macro should be used at global scope. <code class="computeroutput"><span class="identifier">namespace_seq</span></code>
+ shall be the sequence of namespaces under which the following symbols
+ will be defined:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">tag</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">expression</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">name</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">expr</span><span class="special">&lt;</span>
+ <span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span>
+ <span class="special">,</span> <span class="identifier">A0</span>
+ <span class="special">,</span> <span class="identifier">A1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">AN</span>
+ <span class="special">&gt;</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">rule</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</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">expr</span><span class="special">&lt;</span>
+ <span class="identifier">child_grammar0</span>
+ <span class="special">,</span> <span class="identifier">child_grammar1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">child_grammarN</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">functional</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// A polymorphic function object that can be called to create the expression node</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// The result type of the expression node</span>
+<span class="special">}</span>
+
+<span class="comment">// convenience polymorphic function to create an expression node</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_name</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">make_name</span><span class="special">(</span><span class="identifier">A0</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a1</span> <span class="special">...</span> <span class="identifier">AN</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">an</span><span class="special">);</span>
+</pre>
+<p>
+ This macros also adds a specialization for <code class="computeroutput"><span class="identifier">meta_grammar</span><span class="special">::</span><span class="identifier">case_</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span><span class="special">&gt;</span></code> to enable the rule for further use
+ in actions.
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.h3"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.header"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.h4"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.example"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression.example">Example</a>
+ </h6>
+<p>
+ The example from the previous section can be rewritten as:
+ </p>
+<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION</span><span class="special">(</span>
+ <span class="special">(</span><span class="identifier">plus</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Lhs</span>
+ <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Rhs</span>
+<span class="special">)</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Lhs</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Rhs</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">plus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">plus</span><span class="special">(</span><span class="identifier">Lhs</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">Rhs</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span> <span class="identifier">Rhs</span><span class="special">&gt;::</span><span class="identifier">make</span><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg"></a><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg" title="BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG">BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.h0"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.description"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION_VARARG</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to create Phoenix Expressions
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.h1"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.synopsis"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.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>
+ <span class="special">(</span><span class="identifier">namespace_seq</span><span class="special">)(</span><span class="identifier">name</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">child_grammar0</span><span class="special">)</span>
+ <span class="special">(</span><span class="identifier">child_grammar1</span><span class="special">)</span>
+ <span class="special">...</span>
+ <span class="special">(</span><span class="identifier">child_grammarN</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">N</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.h2"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.semantics"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates the necessary code for an expression <code class="computeroutput"><span class="identifier">name</span></code> in namespace <code class="computeroutput"><span class="identifier">namespace_seq</span></code>.
+ <code class="computeroutput"><span class="identifier">N</span></code> is the maximum number
+ of variable children. All but the last elements in the grammar sequence
+ are required children of the expression, and the last denotes a variable
+ number of children. The number of children an expression of this kind
+ can hold is therefor <code class="computeroutput"><span class="identifier">N</span><span class="special">-</span><span class="number">1</span></code> plus
+ the size of the sequence
+ </p>
+<p>
+ The macro should be used at global scope. <code class="computeroutput"><span class="identifier">namespace_seq</span></code>
+ shall be the sequence of namespaces under which the following symbols
+ will be defined:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">tag</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">expression</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">name</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">expr</span><span class="special">&lt;</span>
+ <span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span>
+ <span class="special">,</span> <span class="identifier">A0</span>
+ <span class="special">,</span> <span class="identifier">A1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">AN</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">rule</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">name</span><span class="special">&lt;</span>
+ <span class="identifier">child_grammar0</span>
+ <span class="special">,</span> <span class="identifier">child_grammar1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">child_grammarN</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">functional</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// A polymorphic function object that can be called to create the expression node</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// The result type of the expression node</span>
+<span class="special">}</span>
+
+<span class="comment">// convenience polymorphic function to create an expression node</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_name</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">make_name</span><span class="special">(</span><span class="identifier">A0</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a1</span> <span class="special">...</span> <span class="identifier">AN</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">an</span><span class="special">);</span>
+</pre>
+<p>
+ This macros also adds a specialization for <code class="computeroutput"><span class="identifier">meta_grammar</span><span class="special">::</span><span class="identifier">case_</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span><span class="special">&gt;</span></code> to enable the rule for further use
+ in actions.
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.h3"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.header"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.h4"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_vararg.example"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.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>
+ <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">mem_fun_ptr</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Pointer to Object</span>
+ <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Member pointer</span>
+ <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Variable number of arguments</span>
+ <span class="special">,</span> <span class="identifier">BOOST_PHOENIX_LIMIT</span>
+<span class="special">)</span>
+</pre>
+<p>
+ This defines the member function pointer operator expression as described
+ in <a class="link" href="../../modules/operator.html" title="Operator">operators</a>.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext"></a><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext" title="BOOST_PHOENIX_DEFINE_EXPRESSION_EXT">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.h0"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.description"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to create Phoenix Expressions
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.h1"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.synopsis"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.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>
+ <span class="identifier">actor</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">namespace_seq</span><span class="special">)(</span><span class="identifier">name</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">child_grammar0</span><span class="special">)</span>
+ <span class="special">(</span><span class="identifier">child_grammar1</span><span class="special">)</span>
+ <span class="special">...</span>
+ <span class="special">(</span><span class="identifier">child_grammarN</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">N</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.h2"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.semantics"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates the necessary code for an expression <code class="computeroutput"><span class="identifier">name</span></code> in namespace <code class="computeroutput"><span class="identifier">namespace_seq</span></code>.
+ The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">child_grammarN</span><span class="special">)</span></code> declares how many children the expression
+ will have and what <code class="computeroutput"><span class="identifier">proto</span><span class="special">::</span><span class="identifier">grammar</span></code>
+ they match.
+ </p>
+<p>
+ The macro should be used at global scope. <code class="computeroutput"><span class="identifier">namespace_seq</span></code>
+ shall be the sequence of namespaces under which the following symbols
+ will be defined:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">tag</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">expression</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">name</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">expr_ext</span><span class="special">&lt;</span>
+ <span class="identifier">actor</span>
+ <span class="special">,</span> <span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span>
+ <span class="special">,</span> <span class="identifier">A0</span>
+ <span class="special">,</span> <span class="identifier">A1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">AN</span>
+ <span class="special">&gt;</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">rule</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</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">expr</span><span class="special">&lt;</span>
+ <span class="identifier">child_grammar0</span>
+ <span class="special">,</span> <span class="identifier">child_grammar1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">child_grammarN</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">functional</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// A polymorphic function object that can be called to create the expression node</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// The result type of the expression node</span>
+<span class="special">}</span>
+
+<span class="comment">// convenience polymorphic function to create an expression node</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_name</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">make_name</span><span class="special">(</span><span class="identifier">A0</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a1</span> <span class="special">...</span> <span class="identifier">AN</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">an</span><span class="special">);</span>
+</pre>
+<p>
+ This macros also adds a specialization for <code class="computeroutput"><span class="identifier">meta_grammar</span><span class="special">::</span><span class="identifier">case_</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span><span class="special">&gt;</span></code> to enable the rule for further use
+ in actions.
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.h3"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.header"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.h4"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext.example"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.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>
+ <span class="identifier">if_actor</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">boost</span><span class="special">)(</span><span class="identifier">phoenix</span><span class="special">)(</span><span class="identifier">if_</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Cond</span>
+ <span class="special">(</span><span class="identifier">meta_grammar</span><span class="special">)</span> <span class="comment">// Then</span>
+<span class="special">)</span>
+</pre>
+<p>
+ This defines the if_ expression. The custom actor defines <code class="computeroutput"><span class="identifier">else_</span></code> as a member.
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg"></a><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg" title="BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.h0"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.description"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_DEFINE_EXPRESSION_EXT_VARARG</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to create Phoenix Expressions
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.h1"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.synopsis"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.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>
+ <span class="identifier">actor</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">namespace_seq</span><span class="special">)(</span><span class="identifier">name</span><span class="special">)</span>
+ <span class="special">,</span> <span class="special">(</span><span class="identifier">child_grammar0</span><span class="special">)</span>
+ <span class="special">(</span><span class="identifier">child_grammar1</span><span class="special">)</span>
+ <span class="special">...</span>
+ <span class="special">(</span><span class="identifier">child_grammarN</span><span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">N</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.h2"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.semantics"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates the necessary code for an expression <code class="computeroutput"><span class="identifier">name</span></code> in namespace <code class="computeroutput"><span class="identifier">namespace_seq</span></code>.
+ <code class="computeroutput"><span class="identifier">N</span></code> is the maximum number
+ of variable children. All but the last elements in the grammar sequence
+ are required children of the expression, and the last denotes a variable
+ number of children. The number of children an expression of this kind
+ can hold is therefor <code class="computeroutput"><span class="identifier">N</span><span class="special">-</span><span class="number">1</span></code> plus
+ the size of the sequence
+ </p>
+<p>
+ The macro should be used at global scope. <code class="computeroutput"><span class="identifier">namespace_seq</span></code>
+ shall be the sequence of namespaces under which the following symbols
+ will be defined:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">tag</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">expression</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">name</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">expr_ext</span><span class="special">&lt;</span>
+ <span class="identifier">actor</span>
+ <span class="special">,</span> <span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span>
+ <span class="special">,</span> <span class="identifier">A0</span>
+ <span class="special">,</span> <span class="identifier">A1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">AN</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">rule</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">name</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">name</span><span class="special">&lt;</span>
+ <span class="identifier">child_grammar0</span>
+ <span class="special">,</span> <span class="identifier">child_grammar1</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">child_grammarN</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">functional</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// A polymorphic function object that can be called to create the expression node</span>
+<span class="special">}</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">make_name</span><span class="special">;</span> <span class="comment">// The result type of the expression node</span>
+<span class="special">}</span>
+
+<span class="comment">// convenience polymorphic function to create an expression node</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="keyword">typename</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">result_of</span><span class="special">::</span><span class="identifier">make_name</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="special">...</span> <span class="identifier">AN</span><span class="special">&gt;</span>
+<span class="identifier">make_name</span><span class="special">(</span><span class="identifier">A0</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a1</span> <span class="special">...</span> <span class="identifier">AN</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">an</span><span class="special">);</span>
+</pre>
+<p>
+ This macros also adds a specialization for <code class="computeroutput"><span class="identifier">meta_grammar</span><span class="special">::</span><span class="identifier">case_</span><span class="special">&lt;</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">name</span><span class="special">&gt;</span></code> to enable the rule for further use
+ in actions.
+ </p>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.h3"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.header"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">expression</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.h4"></a>
+ <span><a name="phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.example"></a></span><a class="link" href="boilerplate_macros.html#phoenix.inside.expression.boilerplate_macros.boost_phoenix_define_expression_ext_vararg.example">Example</a>
+ </h6>
+<p>
+ TBD
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expression.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expression.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="../actions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/placeholder_unification.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/placeholder_unification.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Placeholder Unification - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../inside.html" title="Inside Phoenix">
+<link rel="prev" href="custom_terminals.html" title="Custom Terminals">
+<link rel="next" href="../examples.html" title="Advanced Examples">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="custom_terminals.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="../examples.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.placeholder_unification"></a><a class="link" href="placeholder_unification.html" title="Placeholder Unification">Placeholder Unification</a>
+</h3></div></div></div>
+<p>
+ Phoenix uses <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_placeholder</span></code> for recognizing placeholders:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">struct</span> <span class="identifier">is_placeholder</span>
+<span class="special">{</span>
+ <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">value</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ To adapt your own placeholder, the nested value needs to be greater than
+ 0 for your types. This is done by specializing this trait.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="custom_terminals.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="../examples.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/rules.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/inside/rules.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,1329 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Predefined Expressions and Rules - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../inside.html" title="Inside Phoenix">
+<link rel="prev" href="actions.html" title="More on Actions">
+<link rel="next" href="custom_terminals.html" title="Custom Terminals">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="actions.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="custom_terminals.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.rules"></a><a class="link" href="rules.html" title="Predefined Expressions and Rules">Predefined Expressions and Rules</a>
+</h3></div></div></div>
+<p>
+ This section is the "behind the scenes" counter part of the <a class="link" href="../modules.html" title="Modules">Modules</a> section. A listing of all the predefined
+ expressions and rules:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Expression
+ </p>
+ </th>
+<th>
+ <p>
+ Rule
+ </p>
+ </th>
+<th>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">value</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">reference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">custom_terminal</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">argument</span></pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">custom_terminal</span></pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">AN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">function</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">negate</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">negate</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">unary_plus</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">unary_plus</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">pre_inc</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">pre_inc</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">pre_dec</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">pre_dec</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">post_inc</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">post_inc</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">post_dec</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">negate</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">post_dec</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">minus_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">minus_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">minus_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">multiplies_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">multiplies_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">multiplies_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">divides_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">divides_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">divides_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">modules_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">modules_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">modules_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">plus</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">minus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">minus</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">minus</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">multiplies</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">multiplies</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">multiplies</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">divides</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">divides</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">divides</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">modulus</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">modulus</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">modulus</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">complement</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">complement</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">complement</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_and_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_and_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_and_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_or_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_or_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_or_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_xor_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_xor_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_xor_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_left_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">shift_left_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_left_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_right_assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">shift_right_assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_right_assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_and</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_and</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_and</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_or</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_or</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_or</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_xor</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">bitwise_xor</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">bitwise_xor</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_left</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">shift_left</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_left</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_right</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">shift_right</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">shift_right</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">equal_to</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">equal_to</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">equal_to</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">not_equal_to</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">not_equal_to</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">not_equal_to</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">less_equal_to</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">less_equal_to</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">less_equal_to</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">greater_equal</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">greater_equal</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">greater_equal</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">less</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">less</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">less</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">greater</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">greater</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">greater</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_else_operator</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Then</span><span class="special">,</span>
+ <span class="identifier">Else</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">if_else</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_else</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_not</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">logical_not</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_not</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_and</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">logical_and</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_and</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_or</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">logical_or</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">logical_or</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">mem_fun_ptr</span><span class="special">&lt;</span><span class="identifier">Object</span><span class="special">,</span>
+ <span class="identifier">MemPtr</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">AN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">mem_fun_ptr</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">mem_fun_ptr</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">address_of</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">address_of</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">address_of</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">dereference</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">dereference</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">dereference</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">assign</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">assign</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">assign</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">subscript</span><span class="special">&lt;</span><span class="identifier">Lhs</span><span class="special">,</span>
+ <span class="identifier">Rhs</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">subscript</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">subscript</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">sequence</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">,</span>
+ <span class="identifier">A1</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">sequence</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">sequence</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Then</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">if_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_else_statement</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Then</span><span class="special">,</span>
+ <span class="identifier">Else</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">if_else_statement</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">if_else_statement</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_case</span><span class="special">&lt;</span><span class="identifier">Label</span><span class="special">,</span>
+ <span class="identifier">Statement</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">switch_case</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_case</span><span class="special">&lt;</span> <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;</span> <span class="special">&gt;,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_default_case</span><span class="special">&lt;</span><span class="identifier">Statement</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">switch_default_case</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_default_case</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Cases</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">switch_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">switch_</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">switch_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Do</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">while_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">while_</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">do_while</span><span class="special">&lt;</span><span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Do</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">do_while</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">do_while</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">for_</span><span class="special">&lt;</span><span class="identifier">Init</span><span class="special">,</span>
+ <span class="identifier">Cond</span><span class="special">,</span>
+ <span class="identifier">Step</span><span class="special">,</span>
+ <span class="identifier">Do</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">for_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">for_</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">Exception</span><span class="special">,</span>
+ <span class="identifier">Statement</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&lt;</span>
+ <span class="identifier">catch_exception</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">meta_grammar</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">catch_all</span><span class="special">&lt;</span><span class="identifier">Statement</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_all</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">try_catch</span><span class="special">&lt;</span><span class="identifier">Try</span><span class="special">,</span>
+ <span class="identifier">Catch0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">CatchN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">try_catch</span>
+ <span class="special">:</span> <span class="identifier">proto</span><span class="special">::</span><span class="identifier">or_</span><span class="special">&lt;</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">try_catch</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">try_catch</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">vararg</span><span class="special">&lt;</span><span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_</span><span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">rule</span><span class="special">::</span><span class="identifier">catch_all</span>
+ <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">try_catch</span><span class="special">&lt;</span>
+ <span class="identifier">meta_grammar</span>
+ <span class="special">,</span> <span class="identifier">catch_all</span>
+ <span class="special">&gt;</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">throw_</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">throw_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">throw_</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">construct</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">AN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">construct</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">construct</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A0</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">AN</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">new_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A0</span><span class="special">,</span>
+ <span class="special">...,</span> <span class="identifier">AN</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">new_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">new_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A0</span>
+ <span class="special">...</span>
+ <span class="special">,</span> <span class="identifier">AN</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">delete_</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">delete_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">delete_</span><span class="special">&lt;</span><span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">static_cast_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">static_cast_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">static_cast_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">dynamic_cast_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">dynamic_cast_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">dynamic_cast_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">reinterpret_cast_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">reinterpret_cast_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">reinterpret_cast_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">const_cast_</span><span class="special">&lt;</span><span class="identifier">Target</span><span class="special">,</span>
+ <span class="identifier">A</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">const_cast_</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">const_cast_</span><span class="special">&lt;</span>
+ <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">target</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;</span>
+ <span class="special">,</span> <span class="identifier">A</span>
+ <span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">local_variable</span><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">custom_terminal</span></pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">let</span><span class="special">&lt;</span><span class="identifier">Locals</span><span class="special">,</span>
+ <span class="identifier">Statement</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">let</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">let</span><span class="special">&lt;</span><span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">&lt;</span><span class="identifier">OuterEnv</span><span class="special">,</span>
+ <span class="identifier">Locals</span><span class="special">,</span>
+ <span class="identifier">Statement</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">lambda</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">lambda</span><span class="special">&lt;</span><span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;,</span> <span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">lambda_actor</span><span class="special">&lt;</span><span class="identifier">Locals</span><span class="special">,</span>
+ <span class="identifier">Statement</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+</p>
+<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">rule</span><span class="special">::</span><span class="identifier">lambda_actor</span>
+ <span class="special">:</span> <span class="identifier">expression</span><span class="special">::</span><span class="identifier">lambda_actor</span><span class="special">&lt;</span><span class="identifier">terminal</span><span class="special">&lt;</span><span class="identifier">proto</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;,</span> <span class="identifier">meta_grammar</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="actions.html"><img src="../../../../../../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="custom_terminals.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/introduction.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/introduction.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Introduction - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;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">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<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">
+<a name="phoenix.introduction"></a><a class="link" href="introduction.html" title="Introduction">Introduction</a>
+</h2></div></div></div>
+<p>
+ <span class="inlinemediaobject"><img src="../images/banner.png" alt="banner"></span>
+ </p>
+<p>
+ The Phoenix library enables FP techniques such as higher order functions,
+ <span class="emphasis"><em>lambda</em></span> (unnamed functions), <span class="emphasis"><em>currying</em></span>
+ (partial function application) and lazy evaluation in C++. The focus is more
+ on usefulness and practicality than purity, elegance and strict adherence to
+ FP principles.
+ </p>
+<p>
+ FP is a programming discipline that is not at all tied to a specific language.
+ FP as a programming discipline can, in fact, be applied to many programming
+ languages. In the realm of C++ for instance, we are seeing more FP techniques
+ being applied. C++ is sufficiently rich to support at least some of the most
+ important facets of FP. C++ is a multiparadigm programming language. It is
+ not only procedural. It is not only object oriented. Beneath the core of the
+ standard C++ library, a closer look into STL gives us a glimpse of FP already
+ in place. It is obvious that the authors of STL know and practice FP. In the
+ near future, we shall surely see more FP trickle down into the mainstream.
+ </p>
+<p>
+ The truth is, most of the FP techniques can coexist quite well with the standard
+ object oriented and imperative programming paradigms. When we are using STL
+ algorithms and functors (function objects) for example, we are already doing
+ FP. Phoenix is an evolutionary next step.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="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>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,116 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Modules - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="actor.html" title="Actor">
+<link rel="next" href="modules/core.html" title="Core">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="actor.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="modules/core.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">
+<a name="phoenix.modules"></a><a class="link" href="modules.html" title="Modules">Modules</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Core</span></dt>
+<dd><dl>
+<dt><span class="section">Values</span></dt>
+<dt><span class="section">References</span></dt>
+<dt><span class="section">Arguments</span></dt>
+<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>
+<dt><span class="section">Block Statement</span></dt>
+<dt><span class="section">if_ Statement</span></dt>
+<dt><span class="section">if_else_ Statement</span></dt>
+<dt><span class="section"><a href="modules/statement/switch__statement.html">switch_
+ Statement</a></span></dt>
+<dt><span class="section"><a href="modules/statement/while__statement.html">while_
+ Statement</a></span></dt>
+<dt><span class="section">do_while_ Statement</span></dt>
+<dt><span class="section">for_ Statement</span></dt>
+<dt><span class="section"><a href="modules/statement/try__catch__statement.html">try_
+ catch_ Statement</a></span></dt>
+<dt><span class="section">throw_</span></dt>
+</dl></dd>
+<dt><span class="section">Object</span></dt>
+<dd><dl>
+<dt><span class="section">Construction</span></dt>
+<dt><span class="section">New</span></dt>
+<dt><span class="section">Delete</span></dt>
+<dt><span class="section">Casts</span></dt>
+</dl></dd>
+<dt><span class="section">Scope</span></dt>
+<dd><dl>
+<dt><span class="section">Local Variables</span></dt>
+<dt><span class="section">let</span></dt>
+<dt><span class="section">lambda</span></dt>
+</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>
+<dt><span class="section"><a href="modules/bind/binding_member_variables.html">Binding
+ Member Variables</a></span></dt>
+<dt><span class="section"><a href="modules/bind/compatibility_with_boost_bind.html">Compatibility
+ with Boost.Bind</a></span></dt>
+</dl></dd>
+<dt><span class="section">STL</span></dt>
+<dd><dl>
+<dt><span class="section">Container</span></dt>
+<dt><span class="section">Algorithm</span></dt>
+</dl></dd>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="actor.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="modules/core.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Bind - Boost 1.50.0</title>
+<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&#160;1.&#160;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_function_objects.html" title="Binding Function Objects">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<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_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>
+<dt><span class="section"><a href="bind/binding_member_variables.html">Binding
+ Member Variables</a></span></dt>
+<dt><span class="section"><a href="bind/compatibility_with_boost_bind.html">Compatibility
+ with Boost.Bind</a></span></dt>
+</dl></div>
+<p>
+ <span class="emphasis"><em>Binding</em></span> is the act of tying together a function to some
+ arguments for deferred (lazy) evaluation. Named <a class="link" href="function.html" title="Function">lazy
+ functions</a> require a bit of typing. Unlike (unnamed) lambda expressions,
+ we need to write a functor somewhere offline, detached from the call site.
+ If you wish to transform a plain function, member function or member variable
+ to a lambda expression, <code class="computeroutput"><span class="identifier">bind</span></code>
+ is your friend.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ 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>
+ There is a set of overloaded <code class="computeroutput"><span class="identifier">bind</span></code>
+ template functions. Each <code class="computeroutput"><span class="identifier">bind</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ function generates a suitable binder object.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="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>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_function_objects.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_function_objects.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,71 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Binding Function Objects - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../bind.html" title="Bind">
+<link rel="prev" href="../bind.html" title="Bind">
+<link rel="next" href="binding_functions.html" title="Binding Functions">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<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_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_function_objects"></a><a class="link" href="binding_function_objects.html" title="Binding Function Objects">Binding
+ Function Objects</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">/</span><span class="identifier">bind_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Binding function objects serves two purposes: * Partial function application
+ * Quick adaption of already existing function objects
+ </p>
+<p>
+ In order to deduce the return type of the function object, it has to implement
+ the <a href="/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
+ Of</a> protocol. If the bound function object is polymorphic, the resulting
+ binding object is polymorphic.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../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_functions.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_functions.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Binding Functions - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" 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">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<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">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">/</span><span class="identifier">bind_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Example, given a function <code class="computeroutput"><span class="identifier">foo</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">n</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">n</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Here's how the function <code class="computeroutput"><span class="identifier">foo</span></code>
+ may be bound:
+ </p>
+<pre class="programlisting"><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)</span>
+</pre>
+<p>
+ This is now a full-fledged expression that can finally be evaluated by
+ another function call invocation. A second function call will invoke the
+ actual <code class="computeroutput"><span class="identifier">foo</span></code> function. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)(</span><span class="number">4</span><span class="special">);</span>
+</pre>
+<p>
+ will print out "4".
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="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>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_functions.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Binding Member Functions - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../bind.html" title="Bind">
+<link rel="prev" href="binding_functions.html" title="Binding Functions">
+<link rel="next" href="binding_member_variables.html" title="Binding Member Variables">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="binding_functions.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_variables.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_member_functions"></a><a class="link" href="binding_member_functions.html" title="Binding Member Functions">Binding
+ Member Functions</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">/</span><span class="identifier">bind_member_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ 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:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">xyz</span>
+<span class="special">{</span>
+ <span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">xyz</span></code>'s <code class="computeroutput"><span class="identifier">foo</span></code>
+ member function can be bound as:
+ </p>
+<pre class="programlisting"><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)</span> <span class="comment">// obj is an xyz object</span>
+</pre>
+<p>
+ Take note that a lazy-member functions expects the first argument to be
+ a pointer or reference to an object. Both the object (reference or pointer)
+ and the arguments can be lazily bound. Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">xyz</span> <span class="identifier">obj</span><span class="special">;</span>
+<span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="comment">// arg1.foo(arg2)</span>
+<span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)</span> <span class="comment">// obj.foo(arg1)</span>
+<span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">,</span> <span class="number">100</span><span class="special">)</span> <span class="comment">// obj.foo(100)</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binding_functions.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_variables.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/binding_member_variables.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Binding Member Variables - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../bind.html" title="Bind">
+<link rel="prev" href="binding_member_functions.html" title="Binding Member Functions">
+<link rel="next" href="compatibility_with_boost_bind.html" title="Compatibility with Boost.Bind">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="binding_member_functions.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="compatibility_with_boost_bind.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_member_variables"></a><a class="link" href="binding_member_variables.html" title="Binding Member Variables">Binding
+ Member Variables</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">/</span><span class="identifier">bind_member_variable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Member variables can also be bound much like member functions. Member variables
+ are not functions. Yet, like the <a class="link" href="../core/references.html" title="References"><code class="computeroutput"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code></a>
+ that acts like a nullary function returning a reference to the data, member
+ variables, when bound, act like a unary function, taking in a pointer or
+ reference to an object as its argument and returning a reference to the
+ bound member variable. For instance, given:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">xyz</span>
+<span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">v</span><span class="special">;</span>
+<span class="special">};</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">v</span></code> can be bound as:
+ </p>
+<pre class="programlisting"><span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">)</span> <span class="comment">// obj is an xyz object</span>
+</pre>
+<p>
+ As noted, just like the bound member function, a bound member variable
+ also expects the first (and only) argument to be a pointer or reference
+ to an object. The object (reference or pointer) can be lazily bound. Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">xyz</span> <span class="identifier">obj</span><span class="special">;</span>
+<span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)</span> <span class="comment">// arg1.v</span>
+<span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">)</span> <span class="comment">// obj.v</span>
+<span class="identifier">bind</span><span class="special">(&amp;</span><span class="identifier">xyz</span><span class="special">::</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">arg1</span><span class="special">)(</span><span class="identifier">obj</span><span class="special">)</span> <span class="special">=</span> <span class="number">4</span> <span class="comment">// obj.v = 4</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binding_member_functions.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="compatibility_with_boost_bind.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/compatibility_with_boost_bind.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/bind/compatibility_with_boost_bind.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Compatibility with Boost.Bind - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../bind.html" title="Bind">
+<link rel="prev" href="binding_member_variables.html" title="Binding Member Variables">
+<link rel="next" href="../stl.html" title="STL">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="binding_member_variables.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="../stl.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.compatibility_with_boost_bind"></a><a class="link" href="compatibility_with_boost_bind.html" title="Compatibility with Boost.Bind">Compatibility
+ with Boost.Bind</a>
+</h4></div></div></div>
+<p>
+ <code class="computeroutput"><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">bind</span></code> passes all testcases of the Boost.Bind
+ library. It is therefore completely compatible and interchangeable.
+ </p>
+<p>
+ Given the compatibility with Boost.Bind, we also assume compatibility with
+ std::tr1::bind and std::bind from the upcoming C++0x standard.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binding_member_variables.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="../stl.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,74 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Core - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../modules.html" title="Modules">
+<link rel="prev" href="../modules.html" title="Modules">
+<link rel="next" href="core/values.html" title="Values">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../modules.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="core/values.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.core"></a><a class="link" href="core.html" title="Core">Core</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Values</span></dt>
+<dt><span class="section">References</span></dt>
+<dt><span class="section">Arguments</span></dt>
+<dt><span class="section">Nothing</span></dt>
+</dl></div>
+<p>
+ Actors are composed to create more complex actors in a tree-like hierarchy.
+ The primitives are atomic entities that are like the leaves in the tree.
+ Phoenix is extensible. New primitives can be added anytime. Right out of
+ the box, there are only a few primitives, these are all defined in the Core
+ module.
+ </p>
+<p>
+ This section shall deal with these preset primitives.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../modules.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="core/values.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core/arguments.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core/arguments.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,209 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Arguments - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../core.html" title="Core">
+<link rel="prev" href="references.html" title="References">
+<link rel="next" href="nothing.html" title="Nothing">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="references.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="nothing.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.core.arguments"></a><a class="link" href="arguments.html" title="Arguments">Arguments</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">argument</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ We use an instance of:
+ </p>
+<pre class="programlisting"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;::</span><span class="identifier">type</span>
+</pre>
+<p>
+ to represent the Nth function argument. The argument placeholder acts as
+ an imaginary data-bin where a function argument will be placed.
+ </p>
+<h6>
+<a name="phoenix.modules.core.arguments.h0"></a>
+ <span><a name="phoenix.modules.core.arguments.predefined_arguments"></a></span><a class="link" href="arguments.html#phoenix.modules.core.arguments.predefined_arguments">Predefined
+ Arguments</a>
+ </h6>
+<p>
+ There are a few predefined instances of <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ named <code class="computeroutput"><span class="identifier">arg1</span></code>..<code class="computeroutput"><span class="identifier">argN</span></code>, and its BLL
+ counterpart <code class="computeroutput"><span class="identifier">_1</span></code>..<code class="computeroutput"><span class="identifier">_N</span></code>. (where N is a predefined maximum).
+ </p>
+<p>
+ Here are some sample preset definitions of <code class="computeroutput"><span class="identifier">arg1</span></code>..<code class="computeroutput"><span class="identifier">argN</span></code>
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">placeholders</span>
+<span class="special">{</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">arg1</span> <span class="special">=</span> <span class="special">{};</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">arg2</span> <span class="special">=</span> <span class="special">{};</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">3</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">arg3</span> <span class="special">=</span> <span class="special">{};</span>
+<span class="special">}</span>
+</pre>
+<p>
+ and its BLL
+ <code class="computeroutput"><span class="identifier">_1</span></code>..<code class="computeroutput"><span class="identifier">_N</span></code>
+ style counterparts:
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">placeholders</span>
+<span class="special">{</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">_1</span> <span class="special">=</span> <span class="special">{};</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">_2</span> <span class="special">=</span> <span class="special">{};</span>
+ <span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">3</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">const</span> <span class="identifier">_3</span> <span class="special">=</span> <span class="special">{};</span>
+<span class="special">}</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You can set <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_ARG_LIMIT</span></code>,
+ the predefined maximum placeholder index. By default, <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_ARG_LIMIT</span></code>
+ is set to <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>
+ (See <a class="link" href="../../actor.html" title="Actor">Actor</a>).
+ </p></td></tr>
+</table></div>
+<h6>
+<a name="phoenix.modules.core.arguments.h1"></a>
+ <span><a name="phoenix.modules.core.arguments.user_defined_arguments"></a></span><a class="link" href="arguments.html#phoenix.modules.core.arguments.user_defined_arguments">User Defined
+ Arguments</a>
+ </h6>
+<p>
+ When appropriate, you can define your own <code class="computeroutput"><span class="identifier">argument</span></code>
+ names. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">argument</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">x</span><span class="special">;</span> <span class="comment">// note one based index</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">x</span></code> may now be used as a
+ parameter to a lazy function:
+ </p>
+<pre class="programlisting"><span class="identifier">add</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span> <span class="number">6</span><span class="special">)</span>
+</pre>
+<p>
+ which is equivalent to:
+ </p>
+<pre class="programlisting"><span class="identifier">add</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="number">6</span><span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.modules.core.arguments.h2"></a>
+ <span><a name="phoenix.modules.core.arguments.evaluating_an_argument"></a></span><a class="link" href="arguments.html#phoenix.modules.core.arguments.evaluating_an_argument">Evaluating
+ an Argument</a>
+ </h6>
+<p>
+ An argument, when evaluated, selects the Nth argument from the those passed
+ in by the client.
+ </p>
+<p>
+ For example:
+ </p>
+<pre class="programlisting"><span class="keyword">char</span> <span class="identifier">c</span> <span class="special">=</span> <span class="char">'A'</span><span class="special">;</span>
+<span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">123</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">s</span> <span class="special">=</span> <span class="string">"Hello World"</span><span class="special">;</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Get the 1st argument: c</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">s</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Get the 1st argument: i</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg2</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">s</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span> <span class="comment">// Get the 2nd argument: s</span>
+</pre>
+<p>
+ will print out:
+ </p>
+<pre class="programlisting"><span class="identifier">A</span>
+<span class="number">123</span>
+<span class="identifier">Hello</span> <span class="identifier">World</span>
+</pre>
+<h6>
+<a name="phoenix.modules.core.arguments.h3"></a>
+ <span><a name="phoenix.modules.core.arguments.extra_arguments"></a></span><a class="link" href="arguments.html#phoenix.modules.core.arguments.extra_arguments">Extra
+ Arguments</a>
+ </h6>
+<p>
+ In C and C++, a function can have extra arguments that are not at all used
+ by the function body itself. These extra arguments are simply ignored.
+ </p>
+<p>
+ Phoenix also allows extra arguments to be passed. For example, recall our
+ original <code class="computeroutput"><span class="identifier">add</span></code> function:
+ </p>
+<pre class="programlisting"><span class="identifier">add</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)</span>
+</pre>
+<p>
+ We know now that partially applying this function results to a function
+ that expects 2 arguments. However, the library is a bit more lenient and
+ allows the caller to supply more arguments than is actually required. Thus,
+ <code class="computeroutput"><span class="identifier">add</span></code> actually allows 2
+ <span class="emphasis"><em>or more</em></span> arguments. For instance, with:
+ </p>
+<pre class="programlisting"><span class="identifier">add</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">,</span> <span class="identifier">z</span><span class="special">)</span>
+</pre>
+<p>
+ the third argument <code class="computeroutput"><span class="identifier">z</span></code> is
+ ignored. Taking this further, in-between arguments are also ignored. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">add</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg5</span><span class="special">)(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">d</span><span class="special">,</span> <span class="identifier">e</span><span class="special">)</span>
+</pre>
+<p>
+ Here, arguments b, c, and d are ignored. The function <code class="computeroutput"><span class="identifier">add</span></code>
+ takes in the first argument (<code class="computeroutput"><span class="identifier">arg1</span></code>)
+ and the fifth argument (<code class="computeroutput"><span class="identifier">arg5</span></code>).
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ There are a few reasons why enforcing strict arity is not desirable.
+ A case in point is the callback function. Typical callback functions
+ provide more information than is actually needed. Lambda functions are
+ often used as callbacks.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="references.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="nothing.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core/nothing.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core/nothing.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Nothing - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../core.html" title="Core">
+<link rel="prev" href="arguments.html" title="Arguments">
+<link rel="next" href="../function.html" title="Function">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="arguments.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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.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.core.nothing"></a><a class="link" href="nothing.html" title="Nothing">Nothing</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">nothing</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Finally, the <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ does nothing; (a "bum", if you will :-) ). There's a sole <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">null</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">void_</span><span class="special">&gt;::</span><span class="identifier">type</span></code> instance named "nothing".
+ This actor is actually useful in situations where we don't want to do anything.
+ (See <a class="link" href="../statement/for_statement.html" title="for_ Statement">for_ Statement</a>
+ for example).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="arguments.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core/references.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core/references.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,131 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>References - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../core.html" title="Core">
+<link rel="prev" href="values.html" title="Values">
+<link rel="next" href="arguments.html" title="Arguments">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="values.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="arguments.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.core.references"></a><a class="link" href="references.html" title="References">References</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">reference</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Values are immutable constants. Attempting to modify a value will result
+ in a compile time error. When we want the function to modify the parameter,
+ we use a reference instead. For instance, imagine a lazy function <code class="computeroutput"><span class="identifier">add_assign</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">void</span> <span class="identifier">add_assign</span><span class="special">(</span><span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">y</span><span class="special">)</span> <span class="special">{</span> <span class="identifier">x</span> <span class="special">+=</span> <span class="identifier">y</span><span class="special">;</span> <span class="special">}</span> <span class="comment">// pseudo code</span>
+</pre>
+<p>
+ Here, we want the first function argument, x, to be mutable. Obviously,
+ we cannot write:
+ </p>
+<pre class="programlisting"><span class="identifier">add_assign</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span> <span class="comment">// error first argument is immutable</span>
+</pre>
+<p>
+ In C++, we can pass in a reference to a variable as the first argument
+ in our example above. Yet, by default, the library forces arguments passed
+ to partially applied functions to be immutable values (see <a class="link" href="values.html" title="Values">Values</a>).
+ To achieve our intent, we use:
+ </p>
+<pre class="programlisting"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">reference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+</pre>
+<p>
+ This is similar to <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ before but instead holds a reference to a variable.
+ </p>
+<p>
+ We normally don't instantiate <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">reference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ objects directly. Instead we use:
+ </p>
+<pre class="programlisting"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
+</pre>
+<p>
+ For example (where <code class="computeroutput"><span class="identifier">i</span></code> is
+ an <code class="computeroutput"><span class="keyword">int</span></code> variable):
+ </p>
+<pre class="programlisting"><span class="identifier">add_assign</span><span class="special">(</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">),</span> <span class="number">2</span><span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.modules.core.references.h0"></a>
+ <span><a name="phoenix.modules.core.references.evaluating_a_reference"></a></span><a class="link" href="references.html#phoenix.modules.core.references.evaluating_a_reference">Evaluating
+ a Reference</a>
+ </h6>
+<p>
+ References are actors. Hence, references can be evaluated. Such invocation
+ gives the reference's identity. Example:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">s</span> <span class="special">=</span> <span class="string">"Hello World"</span><span class="special">;</span>
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)()</span> <span class="special">&lt;&lt;</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">s</span><span class="special">)();</span>
+</pre>
+<p>
+ prints out "3 Hello World"
+ </p>
+<h6>
+<a name="phoenix.modules.core.references.h1"></a>
+ <span><a name="phoenix.modules.core.references.constant_references"></a></span><a class="link" href="references.html#phoenix.modules.core.references.constant_references">Constant
+ References</a>
+ </h6>
+<p>
+ Another free function
+ </p>
+<pre class="programlisting"><span class="identifier">cref</span><span class="special">(</span><span class="identifier">cv</span><span class="special">)</span>
+</pre>
+<p>
+ may also be used. <code class="computeroutput"><span class="identifier">cref</span><span class="special">(</span><span class="identifier">cv</span><span class="special">)</span></code>
+ creates an <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">reference</span><span class="special">&lt;</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ object. This is similar to <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ but when the data to be passed as argument to a function is heavy and expensive
+ to copy by value, the <code class="computeroutput"><span class="identifier">cref</span><span class="special">(</span><span class="identifier">cv</span><span class="special">)</span></code>
+ offers a lighter alternative.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="values.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="arguments.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core/values.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/core/values.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Values - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../core.html" title="Core">
+<link rel="prev" href="../core.html" title="Core">
+<link rel="next" href="references.html" title="References">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../core.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="references.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.core.values"></a><a class="link" href="values.html" title="Values">Values</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">value</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Whenever we see a constant in a partially applied function, an
+ </p>
+<pre class="programlisting"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+</pre>
+<p>
+ (where T is the type of the constant) is automatically created for us.
+ For instance:
+ </p>
+<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>
+<p>
+ Passing a second argument, <code class="computeroutput"><span class="number">6</span></code>,
+ an <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is implicitly created behind the
+ scenes. This is also equivalent to <code class="computeroutput"><span class="identifier">add</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">val</span><span class="special">(</span><span class="number">6</span><span class="special">))</span></code>.
+ </p>
+<pre class="programlisting"><span class="identifier">val</span><span class="special">(</span><span class="identifier">v</span><span class="special">)</span>
+</pre>
+<p>
+ generates an <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">value</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ where <code class="computeroutput"><span class="identifier">T</span></code> is the type of
+ <code class="computeroutput"><span class="identifier">x</span></code>. In most cases, there's
+ no need to explicitly use <code class="computeroutput"><span class="identifier">val</span></code>,
+ but, as we'll see later on, there are situations where this is unavoidable.
+ </p>
+<h3>
+<a name="phoenix.modules.core.values.h0"></a>
+ <span><a name="phoenix.modules.core.values.evaluating_a_value"></a></span><a class="link" href="values.html#phoenix.modules.core.values.evaluating_a_value">Evaluating
+ a Value</a>
+ </h3>
+<p>
+ Like arguments, values are also actors. As such, values can be evaluated.
+ Invoking a value gives the value's identity. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)()</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"Hello World"</span><span class="special">)();</span>
+</pre>
+<p>
+ prints out "3 Hello World".
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../core.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../core.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="references.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/function.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/function.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,165 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../modules.html" title="Modules">
+<link rel="prev" href="core/nothing.html" title="Nothing">
+<link rel="next" href="function/adapting_functions.html" title="Adapting Functions">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<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="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>
+<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,
+ 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.
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</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>),
+ the argument types of these functions are automatically lazily bound.
+ </p>
+<p>
+ In order to create a lazy function, we need to implement a model of the
+ <a href="/doc/libs/release/libs/fusion/doc/html/fusion/functional/concepts/poly.html" target="_top">Polymorphic
+ Function Object</a> concept. For a function that takes <code class="computeroutput"><span class="identifier">N</span></code> arguments, a model of <a href="/doc/libs/release/libs/fusion/doc/html/fusion/functional/concepts/poly.html" target="_top">Polymorphic
+ Function Object</a> must provide:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ An <code class="computeroutput"><span class="keyword">operator</span><span class="special">()</span></code>
+ that takes <code class="computeroutput"><span class="identifier">N</span></code> arguments,
+ and implements the function logic. This is also true for ordinary function
+ pointers.
+ </li>
+<li class="listitem">
+ A nested metafunction <code class="computeroutput"><span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">Signature</span><span class="special">&gt;</span></code> or nested typedef <code class="computeroutput"><span class="identifier">result_type</span></code>,
+ following the <a href="/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
+ Of</a> Protocol
+ </li>
+</ul></div>
+<p>
+ For example, the following type implements the FunctionEval concept, in order
+ to provide a lazy factorial function:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">factorial_impl</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">This</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">Arg</span> <span class="keyword">const</span> <span class="special">&amp;)&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">Arg</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+ <span class="identifier">Arg</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Arg</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">n</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="special">(</span><span class="identifier">n</span> <span class="special">&lt;=</span> <span class="number">0</span><span class="special">)</span> <span class="special">?</span> <span class="number">1</span> <span class="special">:</span> <span class="identifier">n</span> <span class="special">*</span> <span class="special">(*</span><span class="keyword">this</span><span class="special">)(</span><span class="identifier">n</span><span class="special">-</span><span class="number">1</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+</pre>
+<p>
+ (See factorial.cpp)
+ </p>
+<p>
+ Having implemented the <code class="computeroutput"><span class="identifier">factorial_impl</span></code>
+ type, we can declare and instantiate a lazy <code class="computeroutput"><span class="identifier">factorial</span></code>
+ function this way:
+ </p>
+<pre class="programlisting"><span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">factorial_impl</span><span class="special">&gt;</span> <span class="identifier">factorial</span><span class="special">;</span>
+</pre>
+<p>
+ Invoking a lazy function such as <code class="computeroutput"><span class="identifier">factorial</span></code>
+ does not immediately execute the function object <code class="computeroutput"><span class="identifier">factorial_impl</span></code>.
+ Instead, an <a class="link" href="../actor.html" title="Actor">actor</a> object is created
+ and returned to the caller. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">factorial</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span>
+</pre>
+<p>
+ does nothing more than return an actor. A second function call will invoke
+ the actual factorial function. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">factorial</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)(</span><span class="number">4</span><span class="special">);</span>
+</pre>
+<p>
+ will print out "24".
+ </p>
+<p>
+ Take note that in certain cases (e.g. for function objects with state), an
+ instance of the model of <a href="/doc/libs/release/libs/fusion/doc/html/fusion/functional/concepts/poly.html" target="_top">Polymorphic
+ Function Object</a> may be passed on to the constructor. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">factorial_impl</span><span class="special">&gt;</span> <span class="identifier">factorial</span><span class="special">(</span><span class="identifier">ftor</span><span class="special">);</span>
+</pre>
+<p>
+ where ftor is an instance of factorial_impl (this is not necessary in this
+ case as <code class="computeroutput"><span class="identifier">factorial_impl</span></code> does
+ not require any state).
+ </p>
+<div class="important"><table border="0" summary="Important">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="../../../../../../doc/src/images/important.png"></td>
+<th align="left">Important</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Take care though when using function objects with state because they are
+ often copied repeatedly, and state may change in one of the copies, rather
+ than the original.
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="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>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/function/adapting_functions.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,385 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Adapting Functions - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../function.html" title="Function">
+<link rel="prev" href="../function.html" title="Function">
+<link rel="next" href="../operator.html" title="Operator">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../function.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.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>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="phoenix.modules.function.adapting_functions"></a><a class="link" href="adapting_functions.html" title="Adapting Functions">Adapting
+ Functions</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY</span></dt>
+<dt><span class="section">BOOST_PHOENIX_ADAPT_FUNCTION</span></dt>
+<dt><span class="section">BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY</span></dt>
+<dt><span class="section">BOOST_PHOENIX_ADAPT_CALLABLE</span></dt>
+</dl></div>
+<p>
+ 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 <a class="link" href="../bind.html" title="Bind">phoenix.modules.bind</a>
+ functions.
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary"></a><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary" title="BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY">BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.h0"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.description"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to make an arbitrary nullary function a lazy function.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ These macros generate no global objects. The resulting lazy functions
+ are real functions that create the lazy function expression object
+ </p></td></tr>
+</table></div>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.h1"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.synopsis"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.synopsis">Synopsis</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY</span><span class="special">(</span>
+ <span class="identifier">RETURN_TYPE</span>
+ <span class="special">,</span> <span class="identifier">LAZY_FUNCTION</span>
+ <span class="special">,</span> <span class="identifier">FUNCTION</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.h2"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.semantics"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates all necessary code to have a nullary lazy function
+ <code class="computeroutput"><span class="identifier">LAZY_FUNCTION</span></code> which calls
+ the nullary <code class="computeroutput"><span class="identifier">FUNCTION</span></code>
+ that has the return type <code class="computeroutput"><span class="identifier">RETURN_TYPE</span></code>
+ </p>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.h3"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.header"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">function</span><span class="special">/</span><span class="identifier">adapt_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.h4"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.example"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function_nullary.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
+<span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">foo</span><span class="special">()</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="number">42</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="identifier">BOOST_PHOENIX_ADAPT_FUNCTION_NULLARY</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">foo</span><span class="special">,</span> <span class="identifier">demo</span><span class="special">::</span><span class="identifier">foo</span><span class="special">)</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">_1</span><span class="special">;</span>
+
+ <span class="identifier">assert</span><span class="special">((</span><span class="identifier">_1</span> <span class="special">+</span> <span class="identifier">foo</span><span class="special">())(</span><span class="number">1</span><span class="special">)</span> <span class="special">==</span> <span class="number">43</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function"></a><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function" title="BOOST_PHOENIX_ADAPT_FUNCTION">BOOST_PHOENIX_ADAPT_FUNCTION</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.h0"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.description"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_ADAPT_FUNCTION</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to make an arbitrary function a lazy function.
+ </p>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.h1"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.synopsis"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.synopsis">Synopsis</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_ADAPT_FUNCTION</span><span class="special">(</span>
+ <span class="identifier">RETURN_TYPE</span>
+ <span class="special">,</span> <span class="identifier">LAZY_FUNCTION</span>
+ <span class="special">,</span> <span class="identifier">FUNCTION</span>
+ <span class="special">,</span> <span class="identifier">FUNCTION_ARITY</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.h2"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.semantics"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates all necessary code to have a lazy function
+ <code class="computeroutput"><span class="identifier">LAZY_FUNCTION</span></code> which calls
+ <code class="computeroutput"><span class="identifier">FUNCTION</span></code> that has the
+ return type <code class="computeroutput"><span class="identifier">RETURN_TYPE</span></code>
+ with <code class="computeroutput"><span class="identifier">FUNCTION_ARITY</span></code> number
+ of arguments.
+ </p>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.h3"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.header"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">function</span><span class="special">/</span><span class="identifier">adapt_function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.h4"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.example"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_function.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
+<span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">plus</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">b</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">a</span> <span class="special">+</span> <span class="identifier">b</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">T</span>
+ <span class="identifier">plus</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">c</span><span class="special">)</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">a</span> <span class="special">+</span> <span class="identifier">b</span> <span class="special">+</span> <span class="identifier">c</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="identifier">BOOST_PHOENIX_ADAPT_FUNCTION</span><span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">plus</span><span class="special">,</span> <span class="identifier">demo</span><span class="special">::</span><span class="identifier">plus</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span>
+
+<span class="identifier">BOOST_PHOENIX_ADAPT_FUNCTION</span><span class="special">(</span>
+ <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="special">,</span> <span class="identifier">plus</span>
+ <span class="special">,</span> <span class="identifier">demo</span><span class="special">::</span><span class="identifier">plus</span>
+ <span class="special">,</span> <span class="number">3</span>
+<span class="special">)</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">arg_names</span><span class="special">::</span><span class="identifier">arg1</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">arg_names</span><span class="special">::</span><span class="identifier">arg2</span><span class="special">;</span>
+
+ <span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">123</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">b</span> <span class="special">=</span> <span class="number">256</span><span class="special">;</span>
+
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">plus</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">);</span>
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">plus</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">,</span> <span class="number">3</span><span class="special">)(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="number">3</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary"></a><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary" title="BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY">BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.h0"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.description"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to make an arbitrary nullary function object a lazy function.
+ </p>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.h1"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.synopsis"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.synopsis">Synopsis</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY</span><span class="special">(</span>
+ <span class="identifier">LAZY_FUNCTION</span>
+ <span class="special">,</span> <span class="identifier">CALLABLE</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.h2"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.semantics"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates all necessary code to create <code class="computeroutput"><span class="identifier">LAZY_FUNCTION</span></code> which creates a lazy
+ function object that represents a nullary call to <code class="computeroutput"><span class="identifier">CALLABLE</span></code>.
+ The return type is specified by <code class="computeroutput"><span class="identifier">CALLABLE</span></code>
+ conforming to the <a href="/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
+ Of</a> protocol.
+ </p>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.h3"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.header"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">function</span><span class="special">/</span><span class="identifier">adapt_callable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.h4"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.example"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable_nullary.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">foo</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()()</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="number">42</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">}</span>
+<span class="special">}</span>
+
+<span class="identifier">BOOST_PHOENIX_ADAPT_CALLABLE_NULLARY</span><span class="special">(</span><span class="identifier">foo</span><span class="special">,</span> <span class="identifier">demo</span><span class="special">::</span><span class="identifier">foo</span><span class="special">)</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">placeholders</span><span class="special">::</span><span class="identifier">_1</span><span class="special">;</span>
+
+ <span class="identifier">assert</span><span class="special">((</span><span class="identifier">_1</span> <span class="special">+</span> <span class="identifier">foo</span><span class="special">())(</span><span class="number">1</span><span class="special">)</span> <span class="special">==</span> <span class="number">43</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable"></a><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable" title="BOOST_PHOENIX_ADAPT_CALLABLE">BOOST_PHOENIX_ADAPT_CALLABLE</a>
+</h5></div></div></div>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.h0"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.description"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_ADAPT_CALLABLE</span></code>
+ is a macro that can be used to generate all the necessary boilerplate
+ to make an arbitrary function object a lazy function.
+ </p>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.h1"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.synopsis"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.synopsis">Synopsis</a>
+ </h6>
+<pre class="programlisting"><span class="identifier">BOOST_PHOENIX_ADAPT_CALLABLE</span><span class="special">(</span>
+ <span class="identifier">LAZY_FUNCTION</span>
+ <span class="special">,</span> <span class="identifier">FUNCTION_NAME</span>
+ <span class="special">,</span> <span class="identifier">FUNCTION_ARITY</span>
+<span class="special">)</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.h2"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.semantics"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.semantics">Semantics</a>
+ </h6>
+<p>
+ The above macro generates all necessary code to create <code class="computeroutput"><span class="identifier">LAZY_FUNCTION</span></code> which creates a lazy
+ function object that represents a call to <code class="computeroutput"><span class="identifier">CALLABLE</span></code>
+ with <code class="computeroutput"><span class="identifier">FUNCTION_ARITY</span></code> arguments.
+ The return type is specified by <code class="computeroutput"><span class="identifier">CALLABLE</span></code>
+ conforming to the <a href="/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
+ Of</a> protocol.
+ </p>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.h3"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.header"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.header">Header</a>
+ </h6>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">function</span><span class="special">/</span><span class="identifier">adapt_callable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<h6>
+<a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.h4"></a>
+ <span><a name="phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.example"></a></span><a class="link" href="adapting_functions.html#phoenix.modules.function.adapting_functions.boost_phoenix_adapt_callable.example">Example</a>
+ </h6>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">plus</span>
+ <span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">This</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">A0</span><span class="special">,</span> <span class="identifier">A1</span><span class="special">)&gt;</span>
+ <span class="special">:</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span>
+ <span class="special">{};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">This</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A2</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">This</span><span class="special">(</span><span class="identifier">A0</span><span class="special">,</span> <span class="identifier">A1</span><span class="special">,</span> <span class="identifier">A2</span><span class="special">)&gt;</span>
+ <span class="special">:</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">A0</span><span class="special">&gt;</span>
+ <span class="special">{};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">&gt;</span>
+ <span class="identifier">A0</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">A0</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">a0</span> <span class="special">+</span> <span class="identifier">a1</span><span class="special">;</span>
+ <span class="special">}</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">A0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">A2</span><span class="special">&gt;</span>
+ <span class="identifier">A0</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">A0</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a0</span><span class="special">,</span> <span class="identifier">A1</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a1</span><span class="special">,</span> <span class="identifier">A2</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">a2</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">a0</span> <span class="special">+</span> <span class="identifier">a1</span> <span class="special">+</span> <span class="identifier">a2</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="special">};</span>
+<span class="special">}</span>
+
+<span class="identifier">BOOST_PHOENIX_ADAPT_CALLABLE</span><span class="special">(</span><span class="identifier">plus</span><span class="special">,</span> <span class="identifier">demo</span><span class="special">::</span><span class="identifier">plus</span><span class="special">,</span> <span class="number">2</span><span class="special">)</span>
+
+<span class="identifier">BOOST_PHOENIX_ADAPT_CALLABLE</span><span class="special">(</span><span class="identifier">plus</span><span class="special">,</span> <span class="identifier">demo</span><span class="special">::</span><span class="identifier">plus</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">arg_names</span><span class="special">::</span><span class="identifier">arg1</span><span class="special">;</span>
+ <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">arg_names</span><span class="special">::</span><span class="identifier">arg2</span><span class="special">;</span>
+
+ <span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">123</span><span class="special">;</span>
+ <span class="keyword">int</span> <span class="identifier">b</span> <span class="special">=</span> <span class="number">256</span><span class="special">;</span>
+
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">plus</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">);</span>
+ <span class="identifier">assert</span><span class="special">(</span><span class="identifier">plus</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">,</span> <span class="number">3</span><span class="special">)(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">a</span><span class="special">+</span><span class="identifier">b</span><span class="special">+</span><span class="number">3</span><span class="special">);</span>
+<span class="special">}</span>
+</pre>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../function.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../function.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>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,70 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Object - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../modules.html" title="Modules">
+<link rel="prev" href="statement/throw_.html" title="throw_">
+<link rel="next" href="object/construction.html" title="Construction">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="statement/throw_.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="object/construction.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.object"></a><a class="link" href="object.html" title="Object">Object</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Construction</span></dt>
+<dt><span class="section">New</span></dt>
+<dt><span class="section">Delete</span></dt>
+<dt><span class="section">Casts</span></dt>
+</dl></div>
+<p>
+ The Object module deals with object construction, destruction and conversion.
+ The module provides <span class="emphasis"><em>"lazy"</em></span> versions of C++'s
+ object constructor, <code class="computeroutput"><span class="keyword">new</span></code>, <code class="computeroutput"><span class="keyword">delete</span></code>, <code class="computeroutput"><span class="keyword">static_cast</span></code>,
+ <code class="computeroutput"><span class="keyword">dynamic_cast</span></code>, <code class="computeroutput"><span class="keyword">const_cast</span></code> and <code class="computeroutput"><span class="keyword">reinterpret_cast</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="statement/throw_.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="object/construction.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object/casts.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object/casts.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Casts - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../object.html" title="Object">
+<link rel="prev" href="delete.html" title="Delete">
+<link rel="next" href="../scope.html" title="Scope">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="delete.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="../scope.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.object.casts"></a><a class="link" href="casts.html" title="Casts">Casts</a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong><span class="emphasis"><em>Lazy casts...</em></span></strong></span>
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">/</span><span class="keyword">static_cast</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">/</span><span class="keyword">dynamic_cast</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">/</span><span class="keyword">const_cast</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">/</span><span class="keyword">reinterpret_cast</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The set of lazy C++ cast template functions provide a way of lazily casting
+ an object of a certain type to another type. The syntax resembles the well
+ known C++ casts. Take note however that the lazy versions have a trailing
+ underscore.
+ </p>
+<pre class="programlisting"><span class="identifier">static_cast_</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lambda_expression</span><span class="special">)</span>
+<span class="identifier">dynamic_cast_</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lambda_expression</span><span class="special">)</span>
+<span class="identifier">const_cast_</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lambda_expression</span><span class="special">)</span>
+<span class="identifier">reinterpret_cast_</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">lambda_expression</span><span class="special">)</span>
+</pre>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">static_cast_</span><span class="special">&lt;</span><span class="identifier">Base</span><span class="special">*&gt;(&amp;</span><span class="identifier">arg1</span><span class="special">)</span>
+</pre>
+<p>
+ Static-casts the address of <code class="computeroutput"><span class="identifier">arg1</span></code>
+ to a <code class="computeroutput"><span class="identifier">Base</span><span class="special">*</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="delete.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="../scope.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object/construction.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object/construction.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Construction - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../object.html" title="Object">
+<link rel="prev" href="../object.html" title="Object">
+<link rel="next" href="new.html" title="New">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../object.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="new.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.object.construction"></a><a class="link" href="construction.html" title="Construction">Construction</a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong><span class="emphasis"><em>Lazy constructors...</em></span></strong></span>
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">/</span><span class="identifier">construct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Lazily construct an object from an arbitrary set of arguments:
+ </p>
+<pre class="programlisting"><span class="identifier">construct</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">ctor_arg1</span><span class="special">,</span> <span class="identifier">ctor_arg2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">ctor_argN</span><span class="special">);</span>
+</pre>
+<p>
+ where the given parameters are the parameters to the constructor of the
+ object of type T (This implies, that type T is expected to have a constructor
+ with a corresponding set of parameter types.).
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">construct</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)</span>
+</pre>
+<p>
+ Constructs a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code> from <code class="computeroutput"><span class="identifier">arg1</span></code>
+ and <code class="computeroutput"><span class="identifier">arg2</span></code>.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The maximum number of actual parameters is limited by the preprocessor
+ constant BOOST_PHOENIX_COMPOSITE_LIMIT. Note though, that this limit
+ should not be greater than BOOST_PHOENIX_LIMIT. By default, <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_COMPOSITE_LIMIT</span></code> is set
+ to <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>
+ (See <a class="link" href="../../actor.html" title="Actor">Actor</a>).
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../object.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="new.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object/delete.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object/delete.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,76 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Delete - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../object.html" title="Object">
+<link rel="prev" href="new.html" title="New">
+<link rel="next" href="casts.html" title="Casts">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="new.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="casts.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.object.delete"></a><a class="link" href="delete.html" title="Delete">Delete</a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong><span class="emphasis"><em>Lazy delete...</em></span></strong></span>
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">/</span><span class="keyword">delete</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Lazily delete an object, from the heap:
+ </p>
+<pre class="programlisting"><span class="identifier">delete_</span><span class="special">(</span><span class="identifier">arg</span><span class="special">);</span>
+</pre>
+<p>
+ where arg is assumed to be a pointer to an object.
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">delete_</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">arg1</span><span class="special">)</span> <span class="comment">// note the spelling of delete_ (with trailing underscore)</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="new.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="casts.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object/new.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/object/new.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>New - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../object.html" title="Object">
+<link rel="prev" href="construction.html" title="Construction">
+<link rel="next" href="delete.html" title="Delete">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="construction.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="delete.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.object.new"></a><a class="link" href="new.html" title="New">New</a>
+</h4></div></div></div>
+<p>
+ <span class="bold"><strong><span class="emphasis"><em>Lazy new...</em></span></strong></span>
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">/</span><span class="keyword">new</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ Lazily construct an object, on the heap, from an arbitrary set of arguments:
+ </p>
+<pre class="programlisting"><span class="identifier">new_</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">ctor_arg1</span><span class="special">,</span> <span class="identifier">ctor_arg2</span><span class="special">,</span> <span class="special">...,</span> <span class="identifier">ctor_argN</span><span class="special">);</span>
+</pre>
+<p>
+ where the given parameters are the parameters to the contractor of the
+ object of type T (This implies, that type T is expected to have a constructor
+ with a corresponding set of parameter types.).
+ </p>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">new_</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="comment">// note the spelling of new_ (with trailing underscore)</span>
+</pre>
+<p>
+ Creates a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code> from <code class="computeroutput"><span class="identifier">arg1</span></code>
+ and <code class="computeroutput"><span class="identifier">arg2</span></code> on the heap.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The maximum number of actual parameters is limited by the preprocessor
+ constant BOOST_PHOENIX_COMPOSITE_LIMIT. Note though, that this limit
+ should not be greater than BOOST_PHOENIX_LIMIT. By default, <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_COMPOSITE_LIMIT</span></code> is set
+ to <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>
+ (See <a class="link" href="../../actor.html" title="Actor">Actor</a>).
+ </p></td></tr>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construction.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../object.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="delete.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/operator.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/operator.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,383 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Operator - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../modules.html" title="Modules">
+<link rel="prev" href="function/adapting_functions.html" title="Adapting Functions">
+<link rel="next" href="statement.html" title="Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<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">
+<a name="phoenix.modules.operator"></a><a class="link" href="operator.html" title="Operator">Operator</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ This facility provides a mechanism for lazily evaluating operators. Syntactically,
+ a lazy operator looks and feels like an ordinary C/C++ infix, prefix or postfix
+ operator. The operator application looks the same. However, unlike ordinary
+ operators, the actual operator execution is deferred. Samples:
+ </p>
+<pre class="programlisting"><span class="identifier">arg1</span> <span class="special">+</span> <span class="identifier">arg2</span>
+<span class="number">1</span> <span class="special">+</span> <span class="identifier">arg1</span> <span class="special">*</span> <span class="identifier">arg2</span>
+<span class="number">1</span> <span class="special">/</span> <span class="special">-</span><span class="identifier">arg1</span>
+<span class="identifier">arg1</span> <span class="special">&lt;</span> <span class="number">150</span>
+</pre>
+<p>
+ We have seen the lazy operators in action (see <a class="link" href="../starter_kit/lazy_operators.html" title="Lazy Operators">Quick
+ Start - Lazy Operators</a>). Let's go back and examine them a little bit
+ further:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)</span>
+</pre>
+<p>
+ Through operator overloading, the expression <code class="computeroutput"><span class="identifier">arg1</span>
+ <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span></code> actually
+ generates an actor. This actor object is passed on to STL's <code class="computeroutput"><span class="identifier">find_if</span></code> function. From the viewpoint of
+ STL, the expression is simply a function object expecting a single argument
+ of the containers value_type. For each element in <code class="computeroutput"><span class="identifier">c</span></code>,
+ the element is passed on as an argument <code class="computeroutput"><span class="identifier">arg1</span></code>
+ to the actor (function object). The actor checks if this is an odd value
+ based on the expression <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span>
+ <span class="number">1</span></code> where arg1 is replaced by the container's
+ element.
+ </p>
+<p>
+ Like lazy functions (see <a class="link" href="function.html" title="Function">Function</a>),
+ lazy operators are not immediately executed when invoked. Instead, an actor
+ (see <a class="link" href="../actor.html" title="Actor">Actor</a>) object is created and returned
+ to the caller. Example:
+ </p>
+<pre class="programlisting"><span class="special">(</span><span class="identifier">arg1</span> <span class="special">+</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">arg3</span>
+</pre>
+<p>
+ does nothing more than return an actor. A second function call will evaluate
+ the actual operators. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">((</span><span class="identifier">arg1</span> <span class="special">+</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">arg3</span><span class="special">)(</span><span class="number">4</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">6</span><span class="special">);</span>
+</pre>
+<p>
+ will print out "54".
+ </p>
+<p>
+ Operator expressions are lazily evaluated following four simple rules:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ A binary operator, except <code class="computeroutput"><span class="special">-&gt;*</span></code>
+ will be lazily evaluated when <span class="emphasis"><em>at least</em></span> one of its
+ operands is an actor object (see <a class="link" href="../actor.html" title="Actor">Actor</a>).
+ </li>
+<li class="listitem">
+ Unary operators are lazily evaluated if their argument is an actor object.
+ </li>
+<li class="listitem">
+ Operator <code class="computeroutput"><span class="special">-&gt;*</span></code> is lazily
+ evaluated if the left hand argument is an actor object.
+ </li>
+<li class="listitem">
+ The result of a lazy operator is an actor object that can in turn allow
+ the applications of rules 1, 2 and 3.
+ </li>
+</ol></div>
+<p>
+ For example, to check the following expression is lazily evaluated:
+ </p>
+<pre class="programlisting"><span class="special">-(</span><span class="identifier">arg1</span> <span class="special">+</span> <span class="number">3</span> <span class="special">+</span> <span class="number">6</span><span class="special">)</span>
+</pre>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Following rule 1, <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">+</span> <span class="number">3</span></code> is
+ lazily evaluated since <code class="computeroutput"><span class="identifier">arg1</span></code>
+ is an actor (see <a class="link" href="core/arguments.html" title="Arguments">Arguments</a>).
+ </li>
+<li class="listitem">
+ The result of this <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">+</span> <span class="number">3</span></code> expression
+ is an actor object, following rule 4.
+ </li>
+<li class="listitem">
+ Continuing, <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">+</span>
+ <span class="number">3</span> <span class="special">+</span> <span class="number">6</span></code> is again lazily evaluated. Rule 2.
+ </li>
+<li class="listitem">
+ By rule 4 again, the result of <code class="computeroutput"><span class="identifier">arg1</span>
+ <span class="special">+</span> <span class="number">3</span> <span class="special">+</span> <span class="number">6</span></code> is
+ an actor object.
+ </li>
+<li class="listitem">
+ As <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">+</span>
+ <span class="number">3</span> <span class="special">+</span> <span class="number">6</span></code> is an actor, <code class="computeroutput"><span class="special">-(</span><span class="identifier">arg1</span> <span class="special">+</span> <span class="number">3</span> <span class="special">+</span> <span class="number">6</span><span class="special">)</span></code> is lazily evaluated. Rule 2.
+ </li>
+</ol></div>
+<p>
+ Lazy-operator application is highly contagious. In most cases, a single
+ <code class="computeroutput"><span class="identifier">argN</span></code> actor infects all its
+ immediate neighbors within a group (first level or parenthesized expression).
+ </p>
+<p>
+ Note that at least one operand of any operator must be a valid actor for
+ lazy evaluation to take effect. To force lazy evaluation of an ordinary expression,
+ we can use <code class="computeroutput"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>, <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> or <code class="computeroutput"><span class="identifier">cref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ to transform an operand into a valid actor object (see <a class="link" href="core.html" title="Core">Core</a>).
+ For example:
+ </p>
+<pre class="programlisting"><span class="number">1</span> <span class="special">&lt;&lt;</span> <span class="number">3</span><span class="special">;</span> <span class="comment">// Immediately evaluated</span>
+<span class="identifier">val</span><span class="special">(</span><span class="number">1</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="number">3</span><span class="special">;</span> <span class="comment">// Lazily evaluated</span>
+</pre>
+<h5>
+<a name="phoenix.modules.operator.h0"></a>
+ <span><a name="phoenix.modules.operator.supported_operators"></a></span><a class="link" href="operator.html#phoenix.modules.operator.supported_operators">Supported
+ operators</a>
+ </h5>
+<h5>
+<a name="phoenix.modules.operator.h1"></a>
+ <span><a name="phoenix.modules.operator.unary_operators"></a></span><a class="link" href="operator.html#phoenix.modules.operator.unary_operators">Unary
+ operators</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">prefix</span><span class="special">:</span> <span class="special">~,</span> <span class="special">!,</span> <span class="special">-,</span> <span class="special">+,</span> <span class="special">++,</span> <span class="special">--,</span> <span class="special">&amp;</span> <span class="special">(</span><span class="identifier">reference</span><span class="special">),</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">dereference</span><span class="special">)</span>
+<span class="identifier">postfix</span><span class="special">:</span> <span class="special">++,</span> <span class="special">--</span>
+</pre>
+<h5>
+<a name="phoenix.modules.operator.h2"></a>
+ <span><a name="phoenix.modules.operator.binary_operators"></a></span><a class="link" href="operator.html#phoenix.modules.operator.binary_operators">Binary
+ operators</a>
+ </h5>
+<pre class="programlisting"><span class="special">=,</span> <span class="special">[],</span> <span class="special">+=,</span> <span class="special">-=,</span> <span class="special">*=,</span> <span class="special">/=,</span> <span class="special">%=,</span> <span class="special">&amp;=,</span> <span class="special">|=,</span> <span class="special">^=,</span> <span class="special">&lt;&lt;=,</span> <span class="special">&gt;&gt;=</span>
+<span class="special">+,</span> <span class="special">-,</span> <span class="special">*,</span> <span class="special">/,</span> <span class="special">%,</span> <span class="special">&amp;,</span> <span class="special">|,</span> <span class="special">^,</span> <span class="special">&lt;&lt;,</span> <span class="special">&gt;&gt;</span>
+<span class="special">==,</span> <span class="special">!=,</span> <span class="special">&lt;,</span> <span class="special">&gt;,</span> <span class="special">&lt;=,</span> <span class="special">&gt;=</span>
+<span class="special">&amp;&amp;,</span> <span class="special">||,</span> <span class="special">-&gt;*</span>
+</pre>
+<h5>
+<a name="phoenix.modules.operator.h3"></a>
+ <span><a name="phoenix.modules.operator.ternary_operator"></a></span><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>
+</pre>
+<p>
+ The ternary operator deserves special mention. Since C++ does not allow us
+ to overload the conditional expression: <code class="computeroutput"><span class="identifier">c</span>
+ <span class="special">?</span> <span class="identifier">a</span> <span class="special">:</span> <span class="identifier">b</span></code>, the
+ if_else pseudo function is provided for this purpose. The behavior is identical,
+ albeit in a lazy manner.
+ </p>
+<h5>
+<a name="phoenix.modules.operator.h4"></a>
+ <span><a name="phoenix.modules.operator.member_pointer_operator"></a></span><a class="link" href="operator.html#phoenix.modules.operator.member_pointer_operator">Member
+ pointer operator</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">a</span><span class="special">-&gt;*</span><span class="identifier">member_object_pointer</span>
+<span class="identifier">a</span><span class="special">-&gt;*</span><span class="identifier">member_function_pointer</span>
+</pre>
+<p>
+ The left hand side of the member pointer operator must be an actor returning
+ a pointer type. The right hand side of the member pointer operator may be
+ either a pointer to member object or pointer to member function.
+ </p>
+<p>
+ If the right hand side is a member object pointer, the result is an actor
+ which, when evaluated, returns a reference to that member. For example:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span>
+<span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">member</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="identifier">A</span><span class="special">*</span> <span class="identifier">a</span> <span class="special">=</span> <span class="keyword">new</span> <span class="identifier">A</span><span class="special">;</span>
+<span class="special">...</span>
+
+<span class="special">(</span><span class="identifier">arg1</span><span class="special">-&gt;*&amp;</span><span class="identifier">A</span><span class="special">::</span><span class="identifier">member</span><span class="special">)(</span><span class="identifier">a</span><span class="special">);</span> <span class="comment">// returns member a-&gt;member</span>
+</pre>
+<p>
+ If the right hand side is a member function pointer, the result is an actor
+ which, when invoked, calls the specified member function. For example:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">A</span>
+<span class="special">{</span>
+ <span class="keyword">int</span> <span class="identifier">func</span><span class="special">(</span><span class="keyword">int</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="identifier">A</span><span class="special">*</span> <span class="identifier">a</span> <span class="special">=</span> <span class="keyword">new</span> <span class="identifier">A</span><span class="special">;</span>
+<span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+
+<span class="special">(</span><span class="identifier">arg1</span><span class="special">-&gt;*&amp;</span><span class="identifier">A</span><span class="special">::</span><span class="identifier">func</span><span class="special">)(</span><span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">a</span><span class="special">,</span> <span class="identifier">i</span><span class="special">);</span> <span class="comment">// returns a-&gt;func(i)</span>
+</pre>
+<h5>
+<a name="phoenix.modules.operator.h5"></a>
+ <span><a name="phoenix.modules.operator.include_files"></a></span><a class="link" href="operator.html#phoenix.modules.operator.include_files">Include
+ Files</a>
+ </h5>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Operators
+ </p>
+ </th>
+<th>
+ <p>
+ File
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">-</span></code>, <code class="computeroutput"><span class="special">+</span></code>,
+ <code class="computeroutput"><span class="special">++</span></code>, <code class="computeroutput"><span class="special">--</span></code>, <code class="computeroutput"><span class="special">+=</span></code>,
+ <code class="computeroutput"><span class="special">-=</span></code>, <code class="computeroutput"><span class="special">*=</span></code>, <code class="computeroutput"><span class="special">/=</span></code>,
+ <code class="computeroutput"><span class="special">%=</span></code>, <code class="computeroutput"><span class="special">*</span></code>, <code class="computeroutput"><span class="special">/</span></code>,
+ <code class="computeroutput"><span class="special">%</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">arithmetic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">&amp;=</span></code>, <code class="computeroutput"><span class="special">|=</span></code>, <code class="computeroutput"><span class="special">^=</span></code>,
+ <code class="computeroutput"><span class="special">&lt;&lt;=</span></code>, <code class="computeroutput"><span class="special">&gt;&gt;=</span></code>, <code class="computeroutput"><span class="special">&amp;</span></code>,
+ <code class="computeroutput"><span class="special">|</span></code>, <code class="computeroutput"><span class="special">^</span></code>,
+ <code class="computeroutput"><span class="special">&lt;&lt;</span></code>, <code class="computeroutput"><span class="special">&gt;&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">bitwise</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">==</span></code>, <code class="computeroutput"><span class="special">!=</span></code>, <code class="computeroutput"><span class="special">&lt;</span></code>,
+ <code class="computeroutput"><span class="special">&lt;=</span></code>, <code class="computeroutput"><span class="special">&gt;</span></code>, <code class="computeroutput"><span class="special">&gt;=</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">comparison</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">&lt;&lt;</span></code>, <code class="computeroutput"><span class="special">&gt;&gt;</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">io</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">!</span></code>, &amp;&amp;, <code class="computeroutput"><span class="special">||</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">logical</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">&amp;</span><span class="identifier">x</span></code>,
+ <code class="computeroutput"><span class="special">*</span><span class="identifier">p</span></code>,
+ <code class="computeroutput"><span class="special">=</span></code>, <code class="computeroutput"><span class="special">[]</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">self</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><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></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">if_else</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="special">-&gt;*</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">/</span><span class="identifier">member</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="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>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/scope.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/scope.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Scope - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../modules.html" title="Modules">
+<link rel="prev" href="object/casts.html" title="Casts">
+<link rel="next" href="scope/local_variables.html" title="Local Variables">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="object/casts.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="scope/local_variables.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.scope"></a><a class="link" href="scope.html" title="Scope">Scope</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Local Variables</span></dt>
+<dt><span class="section">let</span></dt>
+<dt><span class="section">lambda</span></dt>
+</dl></div>
+<p>
+ Up until now, the most basic ingredient is missing: creation of and access
+ to local variables in the stack. When recursion comes into play, you will
+ soon realize the need to have true local variables. It may seem that we do
+ not need this at all since an unnamed lambda function cannot call itself
+ anyway; at least not directly. With some sort of arrangement, situations
+ will arise where a lambda function becomes recursive. A typical situation
+ occurs when we store a lambda function in a Boost.Function,
+ essentially naming the unnamed lambda.
+ </p>
+<p>
+ There will also be situations where a lambda function gets passed as an argument
+ to another function. This is a more common situation. In this case, the lambda
+ function assumes a new scope; new arguments and possibly new local variables.
+ </p>
+<p>
+ This section deals with local variables and nested lambda scopes.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="object/casts.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="scope/local_variables.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/scope/lambda.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/scope/lambda.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,209 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>lambda - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../scope.html" title="Scope">
+<link rel="prev" href="let.html" title="let">
+<link rel="next" href="../bind.html" title="Bind">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="let.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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.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.scope.lambda"></a><a class="link" href="lambda.html" title="lambda">lambda</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">scope</span><span class="special">/</span><span class="identifier">lambda</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ A lot of times, you'd want to write a lazy function that accepts one or
+ more functions (higher order functions). STL algorithms come to mind, for
+ example. Consider a lazy version of <code class="computeroutput"><span class="identifier">stl</span><span class="special">::</span><span class="identifier">for_each</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">for_each_impl</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">f</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">for_each_impl</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="identifier">for_each</span> <span class="special">=</span> <span class="identifier">for_each_impl</span><span class="special">();</span>
+</pre>
+<p>
+ Notice that the function accepts another function, <code class="computeroutput"><span class="identifier">f</span></code>
+ as an argument. The scope of this function, <code class="computeroutput"><span class="identifier">f</span></code>,
+ is limited within the <code class="computeroutput"><span class="keyword">operator</span><span class="special">()</span></code>. When <code class="computeroutput"><span class="identifier">f</span></code>
+ is called inside <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span></code>, it exists in a new scope, along
+ with new arguments and, possibly, local variables. This new scope is not
+ at all related to the outer scopes beyond the <code class="computeroutput"><span class="keyword">operator</span><span class="special">()</span></code>.
+ </p>
+<p>
+ Simple syntax:
+ </p>
+<pre class="programlisting"><span class="identifier">lambda</span>
+<span class="special">[</span>
+ <span class="identifier">lambda</span><span class="special">-</span><span class="identifier">body</span>
+<span class="special">]</span>
+</pre>
+<p>
+ Like <code class="computeroutput"><span class="identifier">let</span></code>, local variables
+ may be declared, allowing 1..N local variable declarations (where N ==
+ <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LOCAL_LIMIT</span></code>):
+ </p>
+<pre class="programlisting"><span class="identifier">lambda</span><span class="special">(</span><span class="identifier">local</span><span class="special">-</span><span class="identifier">declarations</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">lambda</span><span class="special">-</span><span class="identifier">body</span>
+<span class="special">]</span>
+</pre>
+<p>
+ The same restrictions apply with regard to scope and visibility. The RHS
+ (right hand side lambda-expression) of each local-declaration cannot refer
+ to any LHS local-id. The local-ids are not in scope yet; they will be in
+ scope only in the lambda-body:
+ </p>
+<pre class="programlisting"><span class="identifier">lambda</span><span class="special">(</span>
+ <span class="identifier">_a</span> <span class="special">=</span> <span class="number">1</span>
+ <span class="special">,</span> <span class="identifier">_b</span> <span class="special">=</span> <span class="identifier">_a</span> <span class="comment">// Error: _a is not in scope yet</span>
+<span class="special">)</span>
+</pre>
+<p>
+ See <a class="link" href="let.html#phoenix.modules.scope.let.visibility"><code class="computeroutput"><span class="identifier">let</span></code> Visibility</a> for more information.
+ </p>
+<p>
+ Example: Using our lazy <code class="computeroutput"><span class="identifier">for_each</span></code>
+ let's print all the elements in a container:
+ </p>
+<pre class="programlisting"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">[</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span><span class="special">])</span>
+</pre>
+<p>
+ As far as the arguments are concerned (arg1..argN), the scope in which
+ the lambda-body exists is totally new. The left <code class="computeroutput"><span class="identifier">arg1</span></code>
+ refers to the argument passed to <code class="computeroutput"><span class="identifier">for_each</span></code>
+ (a container). The right <code class="computeroutput"><span class="identifier">arg1</span></code>
+ refers to the argument passed by <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span></code>
+ when we finally get to call <code class="computeroutput"><span class="keyword">operator</span><span class="special">()</span></code> in our <code class="computeroutput"><span class="identifier">for_each_impl</span></code>
+ above (a container element).
+ </p>
+<p>
+ Yet, we may wish to get information from outer scopes. While we do not
+ have access to arguments in outer scopes, what we still have is access
+ to local variables from outer scopes. We may only be able to pass argument
+ related information from outer <code class="computeroutput"><span class="identifier">lambda</span></code>
+ scopes through the local variables.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ This is a crucial difference between <code class="computeroutput"><span class="identifier">let</span></code>
+ and <code class="computeroutput"><span class="identifier">lambda</span></code>: <code class="computeroutput"><span class="identifier">let</span></code> does not introduce new arguments;
+ <code class="computeroutput"><span class="identifier">lambda</span></code> does.
+ </p></td></tr>
+</table></div>
+<p>
+ Another example: Using our lazy <code class="computeroutput"><span class="identifier">for_each</span></code>,
+ and a lazy <code class="computeroutput"><span class="identifier">push_back</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">push_back_impl</span>
+<span class="special">{</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">result</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">C</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">C</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="identifier">c</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">x</span><span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">push_back_impl</span><span class="special">&gt;</span> <span class="keyword">const</span> <span class="identifier">push_back</span> <span class="special">=</span> <span class="identifier">push_back_impl</span><span class="special">();</span>
+</pre>
+<p>
+ write a lambda expression that accepts:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ a 2-dimensional container (e.g. <code class="computeroutput"><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="special">&gt;</span></code>)
+ </li>
+<li class="listitem">
+ a container element (e.g. <code class="computeroutput"><span class="keyword">int</span></code>)
+ </li>
+</ol></div>
+<p>
+ and pushes-back the element to each of the <code class="computeroutput"><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span></code>.
+ </p>
+<p>
+ Solution:
+ </p>
+<pre class="programlisting"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span>
+ <span class="identifier">lambda</span><span class="special">(</span><span class="identifier">_a</span> <span class="special">=</span> <span class="identifier">arg2</span><span class="special">)</span>
+ <span class="special">[</span>
+ <span class="identifier">push_back</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">_a</span><span class="special">)</span>
+ <span class="special">]</span>
+<span class="special">)</span>
+</pre>
+<p>
+ Since we do not have access to the arguments of the outer scopes beyond
+ the lambda-body, we introduce a local variable <code class="computeroutput"><span class="identifier">_a</span></code>
+ that captures the second outer argument: <code class="computeroutput"><span class="identifier">arg2</span></code>.
+ Hence: _a = arg2. This local variable is visible inside the lambda scope.
+ </p>
+<p>
+ (See lambda.cpp)
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="let.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/scope/let.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/scope/let.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,197 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>let - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../scope.html" title="Scope">
+<link rel="prev" href="local_variables.html" title="Local Variables">
+<link rel="next" href="lambda.html" title="lambda">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="local_variables.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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="lambda.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.scope.let"></a><a class="link" href="let.html" title="let">let</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">scope</span><span class="special">/</span><span class="identifier">let</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ You declare local variables using the syntax:
+ </p>
+<pre class="programlisting"><span class="identifier">let</span><span class="special">(</span><span class="identifier">local</span><span class="special">-</span><span class="identifier">declarations</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">let</span><span class="special">-</span><span class="identifier">body</span>
+<span class="special">]</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">let</span></code> allows 1..N local variable
+ declarations (where N == <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LOCAL_LIMIT</span></code>).
+ Each declaration follows the form:
+ </p>
+<pre class="programlisting"><span class="identifier">local</span><span class="special">-</span><span class="identifier">id</span> <span class="special">=</span> <span class="identifier">lambda</span><span class="special">-</span><span class="identifier">expression</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You can set <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LOCAL_LIMIT</span></code>,
+ the predefined maximum local variable declarations in a let expression.
+ By default, <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LOCAL_LIMIT</span></code>
+ is set to <code class="computeroutput"><span class="identifier">BOOST_PHOENIX_LIMIT</span></code>.
+ </p></td></tr>
+</table></div>
+<p>
+ Example:
+ </p>
+<pre class="programlisting"><span class="identifier">let</span><span class="special">(</span><span class="identifier">_a</span> <span class="special">=</span> <span class="number">123</span><span class="special">,</span> <span class="identifier">_b</span> <span class="special">=</span> <span class="number">456</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">_a</span> <span class="special">+</span> <span class="identifier">_b</span>
+<span class="special">]</span>
+</pre>
+<p>
+ <span class="bold"><strong>Reference Preservation</strong></span>
+ </p>
+<p>
+ The type of the local variable assumes the type of the lambda- expression.
+ Type deduction is reference preserving. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">let</span><span class="special">(</span><span class="identifier">_a</span> <span class="special">=</span> <span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">_b</span> <span class="special">=</span> <span class="number">456</span><span class="special">)</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">_a</span></code> assumes the type of
+ <code class="computeroutput"><span class="identifier">arg1</span></code>: a reference to an
+ argument, while <code class="computeroutput"><span class="identifier">_b</span></code> has
+ type <code class="computeroutput"><span class="keyword">int</span></code>.
+ </p>
+<p>
+ Consider this:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span>
+
+<span class="identifier">let</span><span class="special">(</span><span class="identifier">_a</span> <span class="special">=</span> <span class="identifier">arg1</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">--</span><span class="identifier">_a</span> <span class="special">&lt;&lt;</span> <span class="char">' '</span>
+<span class="special">]</span>
+<span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ the output of above is : 0 0
+ </p>
+<p>
+ While with this:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">1</span><span class="special">;</span>
+
+<span class="identifier">let</span><span class="special">(</span><span class="identifier">_a</span> <span class="special">=</span> <span class="identifier">val</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">))</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">--</span><span class="identifier">_a</span> <span class="special">&lt;&lt;</span> <span class="char">' '</span>
+<span class="special">]</span>
+<span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
+
+<span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">i</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ the output is : 0 1
+ </p>
+<p>
+ Reference preservation is necessary because we need to have L-value access
+ to outer lambda-scopes (especially the arguments). <code class="computeroutput"><span class="identifier">arg</span></code>s
+ and <code class="computeroutput"><span class="identifier">ref</span></code>s are L-values.
+ <code class="computeroutput"><span class="identifier">val</span></code>s are R-values.
+ </p>
+<p>
+ <span class="bold"><strong>Visibility</strong></span> <a name="phoenix.modules.scope.let.visibility"></a>
+ </p>
+<p>
+ The scope and lifetimes of the local variables is limited within the let-body.
+ <code class="computeroutput"><span class="identifier">let</span></code> blocks can be nested.
+ A local variable may hide an outer local variable. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">let</span><span class="special">(</span><span class="identifier">_x</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="string">", World"</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="comment">// _x here is an int: 1</span>
+
+ <span class="identifier">let</span><span class="special">(</span><span class="identifier">_x</span> <span class="special">=</span> <span class="string">"Hello"</span><span class="special">)</span> <span class="comment">// hides the outer _x</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">_x</span> <span class="special">&lt;&lt;</span> <span class="identifier">_y</span> <span class="comment">// prints "Hello, World"</span>
+ <span class="special">]</span>
+<span class="special">]</span>
+</pre>
+<p>
+ The RHS (right hand side lambda-expression) of each local-declaration cannot
+ refer to any LHS local-id. At this point, the local-ids are not in scope
+ yet; they will only be in scope in the let-body. The code below is in error:
+ </p>
+<pre class="programlisting"><span class="identifier">let</span><span class="special">(</span>
+ <span class="identifier">_a</span> <span class="special">=</span> <span class="number">1</span>
+ <span class="special">,</span> <span class="identifier">_b</span> <span class="special">=</span> <span class="identifier">_a</span> <span class="comment">// Error: _a is not in scope yet</span>
+<span class="special">)</span>
+<span class="special">[</span>
+ <span class="comment">// _a and _b's scope starts here</span>
+ <span class="comment">/*. body .*/</span>
+<span class="special">]</span>
+</pre>
+<p>
+ However, if an outer let scope is available, this will be searched. Since
+ the scope of the RHS of a local-declaration is the outer scope enclosing
+ the let, the RHS of a local-declaration can refer to a local variable of
+ an outer scope:
+ </p>
+<pre class="programlisting"><span class="identifier">let</span><span class="special">(</span><span class="identifier">_a</span> <span class="special">=</span> <span class="number">1</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">let</span><span class="special">(</span>
+ <span class="identifier">_a</span> <span class="special">=</span> <span class="number">1</span>
+ <span class="special">,</span> <span class="identifier">_b</span> <span class="special">=</span> <span class="identifier">_a</span> <span class="comment">// Ok. _a refers to the outer _a</span>
+ <span class="special">)</span>
+ <span class="special">[</span>
+ <span class="comment">/*. body .*/</span>
+ <span class="special">]</span>
+<span class="special">]</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="local_variables.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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="lambda.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/scope/local_variables.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/scope/local_variables.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Local Variables - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../scope.html" title="Scope">
+<link rel="prev" href="../scope.html" title="Scope">
+<link rel="next" href="let.html" title="let">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../scope.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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="let.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.scope.local_variables"></a><a class="link" href="local_variables.html" title="Local Variables">Local Variables</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">scope</span><span class="special">/</span><span class="identifier">local_variable</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ We use an instance of:
+ </p>
+<pre class="programlisting"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">local_variable</span><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span>
+</pre>
+<p>
+ to represent a local variable. The local variable acts as an imaginary
+ data-bin where a local, stack based data will be placed. <code class="computeroutput"><span class="identifier">Key</span></code> is an arbitrary type that is used
+ to identify the local variable. Example:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">size_key</span><span class="special">;</span>
+<span class="identifier">expression</span><span class="special">::</span><span class="identifier">local_variable</span><span class="special">&lt;</span><span class="identifier">size_key</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">size</span><span class="special">;</span>
+</pre>
+<p>
+ <span class="bold"><strong>Predefined Local Variables</strong></span>
+ </p>
+<p>
+ There are a few predefined instances of <code class="computeroutput"><span class="identifier">expression</span><span class="special">::</span><span class="identifier">local_variable</span><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ named <code class="computeroutput"><span class="identifier">_a</span></code>..<code class="computeroutput"><span class="identifier">_z</span></code> that you can already use. To make
+ use of them, simply use the <code class="computeroutput"><span class="keyword">namespace</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">local_names</span></code>:
+ </p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">local_names</span><span class="special">;</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../scope.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../scope.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="let.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,129 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Statement - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../modules.html" title="Modules">
+<link rel="prev" href="operator.html" title="Operator">
+<link rel="next" href="statement/block_statement.html" title="Block Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="operator.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/block_statement.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.statement"></a><a class="link" href="statement.html" title="Statement">Statement</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Block Statement</span></dt>
+<dt><span class="section">if_ Statement</span></dt>
+<dt><span class="section">if_else_ Statement</span></dt>
+<dt><span class="section"><a href="statement/switch__statement.html">switch_
+ Statement</a></span></dt>
+<dt><span class="section"><a href="statement/while__statement.html">while_
+ Statement</a></span></dt>
+<dt><span class="section">do_while_ Statement</span></dt>
+<dt><span class="section">for_ Statement</span></dt>
+<dt><span class="section"><a href="statement/try__catch__statement.html">try_
+ catch_ Statement</a></span></dt>
+<dt><span class="section">throw_</span></dt>
+</dl></div>
+<p>
+ <span class="bold"><strong><span class="emphasis"><em>Lazy statements...</em></span></strong></span>
+ </p>
+<p>
+ The expressions presented so far are sufficiently powerful to construct quite
+ elaborate structures. We have presented lazy-functions and lazy-operators.
+ How about lazy-statements? First, an appetizer:
+ </p>
+<p>
+ Print all odd-numbered contents of an STL container using <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span></code>
+ (all_odds.cpp):
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">if_</span><span class="special">(</span><span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="char">' '</span>
+ <span class="special">]</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Huh? Is that valid C++? Read on...
+ </p>
+<p>
+ Yes, it is valid C++. The sample code above is as close as you can get to
+ the syntax of C++. This stylized C++ syntax differs from actual C++ code.
+ First, the <code class="computeroutput"><span class="keyword">if</span></code> has a trailing
+ underscore. Second, the block uses square brackets instead of the familiar
+ curly braces {}.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top">
+<p>
+ <span class="bold"><strong>C++ in C++?</strong></span>
+ </p>
+<p>
+ In as much as Spirit
+ attempts to mimic EBNF in C++, Phoenix attempts to mimic C++ in C++!!!
+ </p>
+</td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Unlike lazy functions and lazy operators, lazy statements always return
+ void.
+ </p></td></tr>
+</table></div>
+<p>
+ Here are more examples with annotations. The code almost speaks for itself.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="operator.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/block_statement.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/___do_while_____statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/___do_while_____statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>do_while_ Statement - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="while__statement.html" title="while_ Statement">
+<link rel="next" href="for_statement.html" title="for_ Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="while__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="for_statement.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.statement.___do_while_____statement"></a><a class="link" href="___do_while_____statement.html" title="do_while_ Statement">do_while_ Statement</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="identifier">do_while</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The syntax is:
+ </p>
+<pre class="programlisting"><span class="identifier">do_</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">while_</span><span class="special">(</span><span class="identifier">conditional_expression</span><span class="special">)</span>
+</pre>
+<p>
+ Again, take note that <code class="computeroutput"><span class="keyword">while</span></code>
+ has a leading dot and a trailing underscore: <code class="computeroutput"><span class="special">.</span><span class="identifier">while_</span></code>
+ </p>
+<p>
+ Example: This code is almost the same as the previous example above with
+ a slight twist in logic.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="special">(</span>
+ <span class="identifier">do_</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span>
+ <span class="special">]</span>
+ <span class="special">.</span><span class="identifier">while_</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">--),</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"\n"</span><span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="while__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="for_statement.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/___if_else_____statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/___if_else_____statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>if_else_ Statement - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="if__statement.html" title="if_ Statement">
+<link rel="next" href="switch__statement.html" title="switch_ Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="if__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="switch__statement.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.statement.___if_else_____statement"></a><a class="link" href="___if_else_____statement.html" title="if_else_ Statement">if_else_ Statement</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="keyword">if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The syntax is
+ </p>
+<pre class="programlisting"><span class="identifier">if_</span><span class="special">(</span><span class="identifier">conditional_expression</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">else_</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+</pre>
+<p>
+ Take note that <code class="computeroutput"><span class="keyword">else</span></code> has a
+ leading dot and a trailing underscore: <code class="computeroutput"><span class="special">.</span><span class="identifier">else_</span></code>
+ </p>
+<p>
+ Example: This code prints out all the elements and appends <code class="computeroutput"><span class="string">" &gt; 5"</span></code>, <code class="computeroutput"><span class="string">"
+ == 5"</span></code> or <code class="computeroutput"><span class="string">" &lt; 5"</span></code>
+ depending on the element's actual value:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">if_</span><span class="special">(</span><span class="identifier">arg1</span> <span class="special">&gt;</span> <span class="number">5</span><span class="special">)</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">" &gt; 5\n"</span>
+ <span class="special">]</span>
+ <span class="special">.</span><span class="identifier">else_</span>
+ <span class="special">[</span>
+ <span class="identifier">if_</span><span class="special">(</span><span class="identifier">arg1</span> <span class="special">==</span> <span class="number">5</span><span class="special">)</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">" == 5\n"</span>
+ <span class="special">]</span>
+ <span class="special">.</span><span class="identifier">else_</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">" &lt; 5\n"</span>
+ <span class="special">]</span>
+ <span class="special">]</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Notice how the <code class="computeroutput"><span class="identifier">if_else_</span></code>
+ statement is nested.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="if__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="switch__statement.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/block_statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/block_statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,106 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Block Statement - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="../statement.html" title="Statement">
+<link rel="next" href="if__statement.html" title="if_ Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="if__statement.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.statement.block_statement"></a><a class="link" href="block_statement.html" title="Block Statement">Block Statement</a>
+</h4></div></div></div>
+<p>
+ Syntax:
+ </p>
+<pre class="programlisting"><span class="identifier">statement</span><span class="special">,</span>
+<span class="identifier">statement</span><span class="special">,</span>
+<span class="special">....</span>
+<span class="identifier">statement</span>
+</pre>
+<p>
+ Basically, these are comma separated statements. Take note that unlike
+ the C/C++ semicolon, the comma is a separator put <span class="bold"><strong>in-between</strong></span>
+ statements. This is like Pascal's semicolon separator, rather than C/C++'s
+ semicolon terminator. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">statement</span><span class="special">,</span>
+<span class="identifier">statement</span><span class="special">,</span>
+<span class="identifier">statement</span><span class="special">,</span> <span class="comment">// ERROR!</span>
+</pre>
+<p>
+ Is an error. The last statement should not have a comma. Block statements
+ can be grouped using the parentheses. Again, the last statement in a group
+ should not have a trailing comma.
+ </p>
+<pre class="programlisting"><span class="identifier">statement</span><span class="special">,</span>
+<span class="identifier">statement</span><span class="special">,</span>
+<span class="special">(</span>
+ <span class="identifier">statement</span><span class="special">,</span>
+ <span class="identifier">statement</span>
+<span class="special">),</span>
+<span class="identifier">statement</span>
+</pre>
+<p>
+ Outside the square brackets, block statements should be grouped. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="special">(</span>
+ <span class="identifier">do_this</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">),</span>
+ <span class="identifier">do_that</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ Wrapping a comma operator chain around a parentheses pair blocks the interpretation
+ as an argument separator. The reason for the exception for the square bracket
+ operator is that the operator always takes exactly one argument, so it
+ "transforms" any attempt at multiple arguments with a comma operator
+ chain (and spits out an error for zero arguments).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="if__statement.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/for_statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/for_statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>for_ Statement - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="___do_while_____statement.html" title="do_while_ Statement">
+<link rel="next" href="try__catch__statement.html" title="try_ catch_ Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="___do_while_____statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="try__catch__statement.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.statement.for_statement"></a><a class="link" href="for_statement.html" title="for_ Statement">for_ Statement</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="keyword">for</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The syntax is:
+ </p>
+<pre class="programlisting"><span class="identifier">for_</span><span class="special">(</span><span class="identifier">init_statement</span><span class="special">,</span> <span class="identifier">conditional_expression</span><span class="special">,</span> <span class="identifier">step_statement</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+</pre>
+<p>
+ It is again very similar to the C++ for statement. Take note that the init_statement,
+ conditional_expression and step_statement are separated by the comma instead of the semi-colon
+ and each must be present (i.e. <code class="computeroutput"><span class="identifier">for_</span><span class="special">(,,)</span></code> is invalid). This is a case where the
+ <a class="link" href="../core/nothing.html" title="Nothing"><code class="computeroutput"><span class="identifier">nothing</span></code></a>
+ actor can be useful.
+ </p>
+<p>
+ Example: This code prints each element N times where N is the element's
+ value. A newline terminates the printout of each value.
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">iii</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="special">(</span>
+ <span class="identifier">for_</span><span class="special">(</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">iii</span><span class="special">)</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">iii</span><span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">arg1</span><span class="special">,</span> <span class="special">++</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">iii</span><span class="special">))</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span>
+ <span class="special">],</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"\n"</span><span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+<p>
+ As before, all these are lazily evaluated. The result of such statements
+ are in fact expressions that are passed on to STL's for_each function.
+ In the viewpoint of <code class="computeroutput"><span class="identifier">for_each</span></code>,
+ what was passed is just a functor, no more, no less.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="___do_while_____statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="try__catch__statement.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/if__statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/if__statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,69 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>if_ Statement - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="block_statement.html" title="Block Statement">
+<link rel="next" href="___if_else_____statement.html" title="if_else_ Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="block_statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="___if_else_____statement.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.statement.if__statement"></a><a class="link" href="if__statement.html" title="if_ Statement">if_ Statement</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="keyword">if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ We have seen the <code class="computeroutput"><span class="identifier">if_</span></code> statement.
+ The syntax is:
+ </p>
+<pre class="programlisting"><span class="identifier">if_</span><span class="special">(</span><span class="identifier">conditional_expression</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="block_statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="___if_else_____statement.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/switch__statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/switch__statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>switch_ Statement - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="___if_else_____statement.html" title="if_else_ Statement">
+<link rel="next" href="while__statement.html" title="while_ Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="___if_else_____statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="while__statement.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.statement.switch__statement"></a><a class="link" href="switch__statement.html" title="switch_ Statement">switch_
+ Statement</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="keyword">switch</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The syntax is:
+ </p>
+<pre class="programlisting"><span class="identifier">switch_</span><span class="special">(</span><span class="identifier">integral_expression</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">case_</span><span class="special">&lt;</span><span class="identifier">integral_value</span><span class="special">&gt;(</span><span class="identifier">sequenced_statements</span><span class="special">),</span>
+ <span class="special">...</span>
+ <span class="identifier">default_</span><span class="special">&lt;</span><span class="identifier">integral_value</span><span class="special">&gt;(</span><span class="identifier">sequenced_statements</span><span class="special">)</span>
+<span class="special">]</span>
+</pre>
+<p>
+ A comma separated list of cases, and an optional default can be provided.
+ Note unlike a normal switch statement, cases do not fall through.
+ </p>
+<p>
+ Example: This code prints out <code class="computeroutput"><span class="string">"one"</span></code>,
+ <code class="computeroutput"><span class="string">"two"</span></code> or <code class="computeroutput"><span class="string">"other value"</span></code> depending on the
+ element's actual value:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">switch_</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span>
+ <span class="special">[</span>
+ <span class="identifier">case_</span><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"one"</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">),</span>
+ <span class="identifier">case_</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"two"</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">),</span>
+ <span class="identifier">default_</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"other value"</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">)</span>
+ <span class="special">]</span>
+<span class="special">);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="___if_else_____statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="while__statement.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/throw_.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/throw_.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,99 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>throw_ - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="try__catch__statement.html" title="try_ catch_ Statement">
+<link rel="next" href="../object.html" title="Object">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="try__catch__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="../object.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.statement.throw_"></a><a class="link" href="throw_.html" title="throw_">throw_</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="keyword">throw</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ As a natural companion to the try/catch support, the statement module provides
+ lazy throwing and re-throwing of exceptions.
+ </p>
+<p>
+ The syntax to throw an exception is:
+ </p>
+<pre class="programlisting"><span class="identifier">throw_</span><span class="special">(</span><span class="identifier">exception_expression</span><span class="special">)</span>
+</pre>
+<p>
+ The syntax to re-throw an exception is:
+ </p>
+<pre class="programlisting"><span class="identifier">throw_</span><span class="special">()</span>
+</pre>
+<p>
+ Example: This code extends the try/catch example, re-throwing exceptions
+ derived from runtime_error or exception, and translating other exception
+ types to runtime_errors.
+ </p>
+<pre class="programlisting"><span class="identifier">try_</span>
+<span class="special">[</span>
+ <span class="identifier">f</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">runtime_error</span><span class="special">&gt;()</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"caught runtime error or derived\n"</span><span class="special">),</span>
+ <span class="identifier">throw_</span><span class="special">()</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">exception</span><span class="special">&gt;()</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"caught exception or derived\n"</span><span class="special">),</span>
+ <span class="identifier">throw_</span><span class="special">()</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">catch_all</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"caught some other type of exception\n"</span><span class="special">),</span>
+ <span class="identifier">throw_</span><span class="special">(</span><span class="identifier">runtime_error</span><span class="special">(</span><span class="string">"translated exception"</span><span class="special">))</span>
+<span class="special">]</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="try__catch__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="../object.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/try__catch__statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/try__catch__statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>try_ catch_ Statement - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="for_statement.html" title="for_ Statement">
+<link rel="next" href="throw_.html" title="throw_">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="for_statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="throw_.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.statement.try__catch__statement"></a><a class="link" href="try__catch__statement.html" title="try_ catch_ Statement">try_
+ catch_ Statement</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="identifier">try_catch</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The syntax is:
+ </p>
+<pre class="programlisting"><span class="identifier">try_</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">exception_type</span><span class="special">&gt;()</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+<span class="special">...</span>
+<span class="special">.</span><span class="identifier">catch_all</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statement</span>
+<span class="special">]</span>
+</pre>
+<p>
+ Note the usual underscore after try and catch, and the extra parentheses
+ required after the catch.
+ </p>
+<p>
+ Example: The following code calls the (lazy) function <code class="computeroutput"><span class="identifier">f</span></code>
+ for each element, and prints messages about different exception types it
+ catches.
+ </p>
+<pre class="programlisting"><span class="identifier">try_</span>
+<span class="special">[</span>
+ <span class="identifier">f</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">runtime_error</span><span class="special">&gt;()</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"caught runtime error or derived\n"</span><span class="special">)</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">catch_</span><span class="special">&lt;</span><span class="identifier">exception</span><span class="special">&gt;()</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"caught exception or derived\n"</span><span class="special">)</span>
+<span class="special">]</span>
+<span class="special">.</span><span class="identifier">catch_all</span>
+<span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"caught some other type of exception\n"</span><span class="special">)</span>
+<span class="special">]</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="for_statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="throw_.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/while__statement.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/statement/while__statement.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,84 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>while_ Statement - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../statement.html" title="Statement">
+<link rel="prev" href="switch__statement.html" title="switch_ Statement">
+<link rel="next" href="___do_while_____statement.html" title="do_while_ Statement">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="switch__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="___do_while_____statement.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.statement.while__statement"></a><a class="link" href="while__statement.html" title="while_ Statement">while_
+ Statement</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">/</span><span class="keyword">while</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The syntax is:
+ </p>
+<pre class="programlisting"><span class="identifier">while_</span><span class="special">(</span><span class="identifier">conditional_expression</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">sequenced_statements</span>
+<span class="special">]</span>
+</pre>
+<p>
+ Example: This code decrements each element until it reaches zero and prints
+ out the number at each step. A newline terminates the printout of each
+ value.
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="special">(</span>
+ <span class="identifier">while_</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">--)</span>
+ <span class="special">[</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span>
+ <span class="special">],</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="string">"\n"</span><span class="special">)</span>
+ <span class="special">)</span>
+<span class="special">);</span>
+</pre>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="switch__statement.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../statement.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="___do_while_____statement.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/stl.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/stl.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,67 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>STL - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../modules.html" title="Modules">
+<link rel="prev" href="bind/compatibility_with_boost_bind.html" title="Compatibility with Boost.Bind">
+<link rel="next" href="stl/container.html" title="Container">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="bind/compatibility_with_boost_bind.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="stl/container.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.stl"></a><a class="link" href="stl.html" title="STL">STL</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Container</span></dt>
+<dt><span class="section">Algorithm</span></dt>
+</dl></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ This section summarizes the lazy equivalents of C++ Standard Library functionality
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="bind/compatibility_with_boost_bind.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="stl/container.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/stl/algorithm.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,1156 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Algorithm - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../stl.html" title="STL">
+<link rel="prev" href="container.html" title="Container">
+<link rel="next" href="../../inside.html" title="Inside Phoenix">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="container.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stl.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="../../inside.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.stl.algorithm"></a><a class="link" href="algorithm.html" title="Algorithm">Algorithm</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The algorithm module provides wrappers for the standard algorithms in the
+ <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">algorithm</span><span class="special">&gt;</span></code> and <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">numeric</span><span class="special">&gt;</span></code>
+ headers.
+ </p>
+<p>
+ The algorithms are divided into the categories iteration, transformation
+ and querying, modeling the Boost.MPL
+ library. The different algorithm classes can be included using the headers:
+ </p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">querying</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The functions of the algorithm module take ranges as arguments where appropriate.
+ This is different to the standard library, but easy enough to pick up.
+ Ranges are described in detail in the Boost.Range
+ library.
+ </p>
+<p>
+ For example, using the standard copy algorithm to copy between 2 arrays:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">array</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">};</span>
+<span class="keyword">int</span> <span class="identifier">output</span><span class="special">[</span><span class="number">3</span><span class="special">];</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span><span class="identifier">array</span><span class="special">,</span> <span class="identifier">array</span> <span class="special">+</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">output</span><span class="special">);</span> <span class="comment">// We have to provide iterators</span>
+ <span class="comment">// to both the start and end of array</span>
+</pre>
+<p>
+ The analogous code using the phoenix algorithm module is:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">array</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">};</span>
+<span class="keyword">int</span> <span class="identifier">output</span><span class="special">[</span><span class="number">3</span><span class="special">];</span>
+<span class="identifier">copy</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)(</span><span class="identifier">array</span><span class="special">,</span> <span class="identifier">output</span><span class="special">);</span> <span class="comment">// Notice only 2 arguments, the end of</span>
+ <span class="comment">// array is established automatically</span>
+</pre>
+<p>
+ The Boost.Range
+ library provides support for standard containers, strings and arrays, and
+ can be extended to support additional types.
+ </p>
+<p>
+ The following tables describe the different categories of algorithms, and
+ their semantics.
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Arguments in brackets denote optional parameters.
+ </p>
+</div>
+<div class="table">
+<a name="phoenix.modules.stl.algorithm.t0"></a><p class="title"><b>Table&#160;1.6.&#160;Iteration Algorithms</b></p>
+<div class="table-contents"><table class="table" summary="Iteration Algorithms">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ stl Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<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">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">accumulate</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">accumulate</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="phoenix.modules.stl.algorithm.t1"></a><p class="title"><b>Table&#160;1.7.&#160;Querying Algorithms</b></p>
+<div class="table-contents"><table class="table" summary="Querying Algorithms">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ stl Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span>
+ <span class="identifier">r2</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_end</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_first_of</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">find_first_of</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">adjacent_find</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">adjacent_find</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">count</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">count</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">count_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">count_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">r</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">))</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">mismatch</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">i</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">mismatch</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">i</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">equal</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">i</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">equal</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">i</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">search</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span>
+ <span class="identifier">r2</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">search</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lower_bound</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lower_bound</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">upper_bound</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">upper_bound</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">equal_range</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">equal_range</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">binary_search</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">binary_search</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">includes</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span>
+ <span class="identifier">r2</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">includes</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">min_element</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">min_element</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">max_element</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">max_element</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lexicographical_compare</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">lexicographical_compare</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="table">
+<a name="phoenix.modules.stl.algorithm.t2"></a><p class="title"><b>Table&#160;1.8.&#160;Transformation Algorithms</b></p>
+<div class="table-contents"><table class="table" summary="Transformation Algorithms">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ stl Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">copy_backward</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">copy_backward</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">transform</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">transform</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">transform</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">i</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">transform</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">i</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">,</span>
+ <span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">f</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">b</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace_copy_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">replace_copy_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">fill</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">fill</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">fill_n</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">fill_n</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">generate</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">generate</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">generate_n</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">generate_n</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">,</span>
+ <span class="identifier">a</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove_copy_if</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">remove_copy_if</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unique</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unique</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unique_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">unique_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">reverse</span><span class="special">(</span><span class="identifier">r</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">reverse</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">))</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">reverse_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">reverse_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rotate</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">m</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rotate</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">m</span><span class="special">,</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">))</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rotate_copy</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">m</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rotate_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">m</span><span class="special">,</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">random_shuffle</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">random_shuffle</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partition</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partition</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">stable_partition</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">stable_partition</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">f</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sort</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sort</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">stable_sort</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">stable_sort</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partial_sort</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">m</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partial_sort</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partial_sort_copy</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partial_sort_copy</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">nth_element</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">n</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">nth_element</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">n</span><span class="special">,</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">merge</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span>
+ <span class="identifier">r2</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">merge</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">inplace_merge</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">m</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">inplace_merge</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">m</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_union</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span>
+ <span class="identifier">r2</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_union</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span>
+ <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_intersection</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_intersection</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_difference</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_difference</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_symmetric_difference</span><span class="special">(</span><span class="identifier">r1</span><span class="special">,</span> <span class="identifier">r2</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">set_symmetric_difference</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r1</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r2</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r2</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">push_heap</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">push_heap</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">pop_heap</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">pop_heap</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">make_heap</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">make_heap</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sort_heap</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">sort_heap</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">next_permutation</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">next_permutation</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">prev_permutation</span><span class="special">(</span><span class="identifier">r</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">prev_permutation</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">inner_product</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">,</span> <span class="identifier">a</span><span class="special">[,</span> <span class="identifier">f1</span><span class="special">,</span> <span class="identifier">f2</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">inner_product</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f1</span><span class="special">,</span> <span class="identifier">f2</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partial_sum</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">partial_sum</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span>
+ <span class="identifier">o</span><span class="special">[,</span>
+ <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">adjacent_difference</span><span class="special">(</span><span class="identifier">r</span><span class="special">,</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">adjacent_difference</span><span class="special">(</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">o</span><span class="special">[,</span> <span class="identifier">f</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="container.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stl.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="../../inside.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/stl/container.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/modules/stl/container.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,616 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Container - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../stl.html" title="STL">
+<link rel="prev" href="../stl.html" title="STL">
+<link rel="next" href="algorithm.html" title="Algorithm">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../stl.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stl.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="algorithm.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.stl.container"></a><a class="link" href="container.html" title="Container">Container</a>
+</h4></div></div></div>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ The container module predefines a set of lazy functions that work on STL
+ containers. These functions provide a mechanism for the lazy evaluation
+ of the public member functions of the STL containers. The lazy functions
+ are thin wrappers that simply forward to their respective counterparts
+ in the STL library.
+ </p>
+<p>
+ Lazy functions are provided for all of the member functions of the following
+ containers:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ deque
+ </li>
+<li class="listitem">
+ list
+ </li>
+<li class="listitem">
+ map
+ </li>
+<li class="listitem">
+ multimap
+ </li>
+<li class="listitem">
+ vector
+ </li>
+</ul></div>
+<p>
+ Indeed, should your class have member functions with the same names and
+ signatures as those listed below, then it will automatically be supported.
+ To summarize, lazy functions are provided for member functions:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ assign
+ </li>
+<li class="listitem">
+ at
+ </li>
+<li class="listitem">
+ back
+ </li>
+<li class="listitem">
+ begin
+ </li>
+<li class="listitem">
+ capacity
+ </li>
+<li class="listitem">
+ clear
+ </li>
+<li class="listitem">
+ empty
+ </li>
+<li class="listitem">
+ end
+ </li>
+<li class="listitem">
+ erase
+ </li>
+<li class="listitem">
+ front
+ </li>
+<li class="listitem">
+ get_allocator
+ </li>
+<li class="listitem">
+ insert
+ </li>
+<li class="listitem">
+ key_comp
+ </li>
+<li class="listitem">
+ max_size
+ </li>
+<li class="listitem">
+ pop_back
+ </li>
+<li class="listitem">
+ pop_front
+ </li>
+<li class="listitem">
+ push_back
+ </li>
+<li class="listitem">
+ push_front
+ </li>
+<li class="listitem">
+ rbegin
+ </li>
+<li class="listitem">
+ rend
+ </li>
+<li class="listitem">
+ reserve
+ </li>
+<li class="listitem">
+ resize
+ </li>
+<li class="listitem">
+ size
+ </li>
+<li class="listitem">
+ splice
+ </li>
+<li class="listitem">
+ value_comp
+ </li>
+</ul></div>
+<p>
+ The lazy functions' names are the same as the corresponding member function.
+ The difference is that the lazy functions are free functions and therefore
+ does not use the member "dot" syntax.
+ </p>
+<div class="table">
+<a name="phoenix.modules.stl.container.t0"></a><p class="title"><b>Table&#160;1.4.&#160;Sample usage</b></p>
+<div class="table-contents"><table class="table" summary="Sample usage">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ "Normal" version
+ </p>
+ </th>
+<th>
+ <p>
+ "Lazy" version
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">my_vector</span><span class="special">.</span><span class="identifier">at</span><span class="special">(</span><span class="number">5</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">at</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span>
+ <span class="number">5</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">my_list</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">my_vector1</span><span class="special">.</span><span class="identifier">swap</span><span class="special">(</span><span class="identifier">my_vector2</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">swap</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">,</span>
+ <span class="identifier">arg2</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Notice that member functions with names that clash with stl algorithms
+ are absent. This will be provided in Phoenix's algorithm module.
+ </p>
+<p>
+ No support is provided here for lazy versions of <code class="computeroutput"><span class="keyword">operator</span><span class="special">+=</span></code>, <code class="computeroutput"><span class="keyword">operator</span><span class="special">[]</span></code> etc. Such operators are not specific
+ to STL containers and lazy versions can therefore be found in <a class="link" href="../operator.html" title="Operator">operators</a>.
+ </p>
+<p>
+ The following table describes the container functions and their semantics.
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Arguments in brackets denote optional parameters.
+ </p>
+</div>
+<div class="table">
+<a name="phoenix.modules.stl.container.t1"></a><p class="title"><b>Table&#160;1.5.&#160;Lazy STL Container Functions</b></p>
+<div class="table-contents"><table class="table" summary="Lazy STL Container Functions">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Semantics
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">assign</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>
+ <span class="identifier">c</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span><span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">c</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">at</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span>
+ <span class="identifier">i</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">at</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">back</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">back</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">begin</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">capacity</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">capacity</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">clear</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">clear</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">empty</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">empty</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">end</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">erase</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></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">erase</span><span class="special">(</span><span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">b</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">front</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">front</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">get_allocator</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">get_allocator</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">insert</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>
+ <span class="identifier">c</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">c</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">key_comp</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">key_comp</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">max_size</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">max_size</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">pop_back</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">pop_back</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">pop_front</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">pop_front</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span>
+ <span class="identifier">d</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">d</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">push_front</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span>
+ <span class="identifier">d</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">push_front</span><span class="special">(</span><span class="identifier">d</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">pop_front</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">pop_front</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rbegin</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">rbegin</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">rend</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">rend</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">reserve</span><span class="special">(</span><span class="identifier">c</span><span class="special">,</span>
+ <span class="identifier">n</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">reserve</span><span class="special">(</span><span class="identifier">n</span><span class="special">)</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">resize</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></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">resize</span><span class="special">(</span><span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">b</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">size</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">splice</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>
+ <span class="identifier">c</span><span class="special">,</span>
+ <span class="identifier">d</span><span class="special">])</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">splice</span><span class="special">(</span><span class="identifier">a</span><span class="special">[,</span>
+ <span class="identifier">b</span><span class="special">,</span>
+ <span class="identifier">c</span><span class="special">,</span>
+ <span class="identifier">d</span><span class="special">])</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">value_comp</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="identifier">c</span><span class="special">.</span><span class="identifier">value_comp</span><span class="special">()</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../stl.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../stl.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="algorithm.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/organization.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/organization.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,376 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Organization - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="basics.html" title="Basics">
+<link rel="next" href="actor.html" title="Actor">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="basics.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="actor.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">
+<a name="phoenix.organization"></a><a class="link" href="organization.html" title="Organization">Organization</a>
+</h2></div></div></div>
+<p>
+ Care and attention to detail was given, painstakingly, to the design and implementation
+ of Phoenix.
+ </p>
+<p>
+ The library is organized in four layers:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Actor
+ </li>
+<li class="listitem">
+ Value, Reference, Arguments
+ </li>
+<li class="listitem">
+ Function, Operator, Object, Statement, Scope
+ </li>
+<li class="listitem">
+ STL, Fusion, Bind
+ </li>
+</ol></div>
+<p>
+ The modules are orthogonal, with no cyclic dependencies. Lower layers do not
+ depend on higher layers. Modules in a layer do not depend on other modules
+ in the same layer. This means, for example, that Bind can be completely discarded
+ if it is not required; or one could perhaps take out Operator and Statement
+ and just use Function, which may be desirable in a pure FP application.
+ </p>
+<p>
+ The library has grown from the original Phoenix but still comprises only header
+ files. There are no object files to link against.
+ </p>
+<h3>
+<a name="phoenix.organization.h0"></a>
+ <span><a name="phoenix.organization.core"></a></span><a class="link" href="organization.html#phoenix.organization.core">Core</a>
+ </h3>
+<p>
+ The lowest two layers comprise the core.
+ </p>
+<p>
+ The <a class="link" href="actor.html" title="Actor"><code class="computeroutput"><span class="identifier">Actor</span></code></a>
+ is the main concept behind the library. Lazy functions are abstracted as actors.
+ </p>
+<p>
+ Terminals provide the basic building blocks of functionality within Phoenix.
+ Expressions are used to combine these terminals together to provide more powerful
+ functionality.
+ </p>
+<p>
+ Expressions are composed of zero or more actors. Each actor in a composite
+ can again be another expression.
+ </p>
+<div class="table">
+<a name="phoenix.organization.t0"></a><p class="title"><b>Table&#160;1.2.&#160;Modules</b></p>
+<div class="table-contents"><table class="table" summary="Modules">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Module
+ </p>
+ </th>
+<th>
+ <p>
+ Description
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Function
+ </p>
+ </td>
+<td>
+ <p>
+ Lazy functions support (e.g. <code class="computeroutput"><span class="identifier">add</span></code>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Operator
+ </p>
+ </td>
+<td>
+ <p>
+ Lazy operators support (e.g. <code class="computeroutput"><span class="special">+</span></code>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Statement
+ </p>
+ </td>
+<td>
+ <p>
+ Lazy statements (e.g. <code class="computeroutput"><span class="identifier">if_</span></code>,
+ <code class="computeroutput"><span class="identifier">while_</span></code>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Object
+ </p>
+ </td>
+<td>
+ <p>
+ Lazy casts (e.g. <code class="computeroutput"><span class="identifier">static_cast_</span></code>),
+ object creation destruction (e.g. <code class="computeroutput"><span class="identifier">new_</span></code>,
+ <code class="computeroutput"><span class="identifier">delete_</span></code>)
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Scope
+ </p>
+ </td>
+<td>
+ <p>
+ Support for scopes, local variables and lambda-lambda
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bind
+ </p>
+ </td>
+<td>
+ <p>
+ Lazy functions from free functions, member functions or member variables.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ STL Container
+ </p>
+ </td>
+<td>
+ <p>
+ Set of predefined "lazy" functions that work on STL containers
+ and sequences (e.g. <code class="computeroutput"><span class="identifier">push_back</span></code>).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ STL Algorithm
+ </p>
+ </td>
+<td>
+ <p>
+ Set of predefined "lazy" versions of the STL algorithms
+ (e.g. <code class="computeroutput"><span class="identifier">find_if</span></code>).
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Each module is defined in a header file with the same name. For example, the
+ core module is defined in <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.
+ </p>
+<div class="table">
+<a name="phoenix.organization.t1"></a><p class="title"><b>Table&#160;1.3.&#160;Includes</b></p>
+<div class="table-contents"><table class="table" summary="Includes">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Module
+ </p>
+ </th>
+<th>
+ <p>
+ File
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Core
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">core</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Function
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">function</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Operator
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="keyword">operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Statement
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">statement</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Object
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Scope
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">scope</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Bind
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">bind</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Container
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Algorithm
+ </p>
+ </td>
+<td>
+ <p>
+ <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">phoenix</span><span class="special">/</span><span class="identifier">stl</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../images/tip.png" alt="tip"></span> Finer grained include files are available per feature;
+ see the succeeding sections.
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="basics.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="actor.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/references.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/references.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>References - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="acknowledgments.html" title="Acknowledgments">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="acknowledgments.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>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="phoenix.references"></a><a class="link" href="references.html" title="References">References</a>
+</h2></div></div></div>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Why Functional Programming Matters, John Hughes, 1989. Available online
+ at http://www.math.chalmers.se/~rjmh/Papers/whyfp.html.
+ </li>
+<li class="listitem">
+ Boost.Lambda library, Jaakko Jarvi, 1999-2004 Jaakko Jarvi, Gary Powell.
+ Available online at http://www.boost.org/libs/lambda/.
+ </li>
+<li class="listitem">
+ Functional Programming in C++ using the FC++ Library: a short article introducing
+ FC++, Brian McNamara and Yannis Smaragdakis, August 2003. Available online
+ at http://www.cc.gatech.edu/~yannis/fc++/.
+ </li>
+<li class="listitem">
+ Side-effects and partial function application in C++, Jaakko Jarvi and
+ Gary Powell, 2001. Available online at http://osl.iu.edu/~jajarvi/publications/papers/mpool01.pdf.
+ </li>
+<li class="listitem">
+ Spirit Version 1.8.1, Joel de Guzman, Nov 2004. Available online at http://www.boost.org/libs/spirit/.
+ </li>
+<li class="listitem">
+ The Boost MPL Library, Aleksey Gurtovoy and David Abrahams, 2002-2004.
+ Available online at http://www.boost.org/libs/mpl/.
+ </li>
+<li class="listitem">
+ Generic Programming Redesign of Patterns, Proceedings of the 5th European
+ Conference on Pattern Languages of Programs, (EuroPLoP'2000) Irsee, Germany,
+ July 2000. Available online at http://www.coldewey.com/europlop2000/papers/geraud%2Bduret.zip.
+ </li>
+<li class="listitem">
+ A Gentle Introduction to Haskell, Paul Hudak, John Peterson and Joseph
+ Fasel, 1999. Available online at http://www.haskell.org/tutorial/.
+ </li>
+<li class="listitem">
+ Large scale software design, John Lackos, ISBN 0201633620, Addison-Wesley,
+ July 1996.
+ </li>
+<li class="listitem">
+ Design Patterns, Elements of Reusable Object-Oriented Software, Erich Gamma,
+ Richard Helm, Ralph Jhonson, and John Vlissides, Addison-Wesley, 1995.
+ </li>
+<li class="listitem">
+ The Forwarding Problem: Arguments Peter Dimov, Howard E. Hinnant, Dave
+ Abrahams, September 09, 2002. Available online: <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">Forwarding
+ Function Problem</a>.
+ </li>
+</ol></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="acknowledgments.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>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,119 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Starter Kit - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="introduction.html" title="Introduction">
+<link rel="next" href="starter_kit/values.html" title="Values">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="introduction.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/values.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">
+<a name="phoenix.starter_kit"></a><a class="link" href="starter_kit.html" title="Starter Kit">Starter Kit</a>
+</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">Values</span></dt>
+<dt><span class="section">References</span></dt>
+<dt><span class="section">Arguments</span></dt>
+<dt><span class="section">Lazy Operators</span></dt>
+<dt><span class="section">Lazy Statements</span></dt>
+<dt><span class="section"><a href="starter_kit/construct__new__delete__casts.html">Construct,
+ New, Delete, Casts</a></span></dt>
+<dt><span class="section">Lazy Functions</span></dt>
+<dt><span class="section">More</span></dt>
+</dl></div>
+<p>
+ Most "quick starts" only get you a few blocks from where you are.
+ From there, you are on your own. Yet, typically, you'd want to get to the next
+ city. This starter kit shall be as minimal as possible, yet packed as much
+ power as possible.
+ </p>
+<p>
+ So you are busy and always on the go. You do not wish to spend a lot of time
+ studying the library. You wish to be spared the details for later when you
+ need it. For now, all you need to do is to get up to speed as quickly as possible
+ and start using the library. If this is the case, this is the right place to
+ start.
+ </p>
+<p>
+ This section is by no means a thorough discourse of the library. For more information
+ on Phoenix, please take some time to read the rest of the Documentation. Yet,
+ if you just want to use the library quickly, now, this chapter will probably
+ suffice. Rather than taking you to the details of the library, we shall try
+ to provide you with annotated examples instead. Hopefully, this will get you
+ into high gear quickly.
+ </p>
+<h4>
+<a name="phoenix.starter_kit.h0"></a>
+ <span><a name="phoenix.starter_kit.functors_everywhere"></a></span><a class="link" href="starter_kit.html#phoenix.starter_kit.functors_everywhere">Functors
+ everywhere</a>
+ </h4>
+<p>
+ Phoenix is built on function objects (functors). The functor is the main building
+ block. We compose functors to build more complex functors... to build more
+ complex functors... and so on. Almost everything is a functor.
+ </p>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Functors are so ubiquitous in Phoenix that, in the manual, the words <span class="emphasis"><em>"functor"</em></span>
+ and <span class="emphasis"><em>"function"</em></span> are used interchangeably.
+ </p></td></tr>
+</table></div>
+<p>
+ We start with some core functions that are called <span class="bold"><strong>primitives</strong></span>.
+ You can think of primitives (such as values, references and arguments) as atoms.
+ </p>
+<p>
+ Things start to get interesting when we start <span class="emphasis"><em>composing</em></span>
+ primitives to form <span class="bold"><strong>expressions</strong></span>. The expressions
+ can, in turn, be composed to form even more complex expressions.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="introduction.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/values.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/arguments.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/arguments.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,90 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Arguments - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="references.html" title="References">
+<link rel="next" href="lazy_operators.html" title="Lazy Operators">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="references.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_operators.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.starter_kit.arguments"></a><a class="link" href="arguments.html" title="Arguments">Arguments</a>
+</h3></div></div></div>
+<p>
+ Arguments are also functions? You bet!
+ </p>
+<p>
+ Until now, we have been dealing with expressions returning a nullary function.
+ Arguments, on the other hand, evaluate to an N-ary function. An argument
+ represents the Nth argument. There are a few predefined arguments arg1, arg2,
+ arg3, arg4 and so on (and it's BLL
+ counterparts: _1, _2, _3, _4 and so on). Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">arg1</span> <span class="comment">// one-or-more argument function that returns its first argument</span>
+<span class="identifier">arg2</span> <span class="comment">// two-or-more argument function that returns its second argument</span>
+<span class="identifier">arg3</span> <span class="comment">// three-or-more argument function that returns its third argument</span>
+</pre>
+<p>
+ <code class="computeroutput"><span class="identifier">argN</span></code> returns the Nth argument.
+ Examples:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">s</span> <span class="special">=</span> <span class="string">"Hello World"</span><span class="special">;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// prints 3</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg2</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">s</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> <span class="comment">// prints "Hello World"</span>
+</pre>
+<p>
+ (See arguments.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about arguments <a class="link" href="../modules/core/arguments.html" title="Arguments">here.</a>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="references.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_operators.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/construct__new__delete__casts.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/construct__new__delete__casts.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Construct, New, Delete, Casts - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="lazy_statements.html" title="Lazy Statements">
+<link rel="next" href="lazy_functions.html" title="Lazy Functions">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="lazy_statements.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_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.starter_kit.construct__new__delete__casts"></a><a class="link" href="construct__new__delete__casts.html" title="Construct, New, Delete, Casts">Construct,
+ New, Delete, Casts</a>
+</h3></div></div></div>
+<p>
+ You'll probably want to work with objects. There are lazy versions of constructor
+ calls, <code class="computeroutput"><span class="keyword">new</span></code>, <code class="computeroutput"><span class="keyword">delete</span></code>
+ and the suite of C++ casts. Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">construct</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="comment">// constructs a std::string from arg1, arg2</span>
+<span class="identifier">new_</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">arg1</span><span class="special">,</span> <span class="identifier">arg2</span><span class="special">)</span> <span class="comment">// makes a new std::string from arg1, arg2</span>
+<span class="identifier">delete_</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">)</span> <span class="comment">// deletes arg1 (assumed to be a pointer)</span>
+<span class="identifier">static_cast_</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">*&gt;(</span><span class="identifier">arg1</span><span class="special">)</span> <span class="comment">// static_cast's arg1 to an int*</span>
+</pre>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Take note that, by convention, names that conflict with C++ reserved words
+ are appended with a single trailing underscore <code class="computeroutput"><span class="char">'_'</span></code>
+ </p></td></tr>
+</table></div>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about this <a class="link" href="../modules/object.html" title="Object">here.</a>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lazy_statements.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_functions.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,124 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Lazy Functions - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="construct__new__delete__casts.html" title="Construct, New, Delete, Casts">
+<link rel="next" href="more.html" title="More">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="construct__new__delete__casts.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="more.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.starter_kit.lazy_functions"></a><a class="link" href="lazy_functions.html" title="Lazy Functions">Lazy Functions</a>
+</h3></div></div></div>
+<p>
+ As you write more lambda functions, you'll notice certain patterns that you
+ wish to refactor as reusable functions. When you reach that point, you'll
+ wish that ordinary functions can co-exist with phoenix functions. Unfortunately,
+ the <span class="emphasis"><em>immediate</em></span> nature of plain C++ functions make them
+ incompatible.
+ </p>
+<p>
+ Lazy functions are your friends. The library provides a facility to make
+ lazy functions. The code below is a rewrite of the <code class="computeroutput"><span class="identifier">is_odd</span></code>
+ function using the facility:
+ </p>
+<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">is_odd_impl</span>
+<span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="keyword">bool</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Arg</span><span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Arg</span> <span class="identifier">arg1</span><span class="special">)</span> <span class="keyword">const</span>
+ <span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">;</span>
+ <span class="special">}</span>
+<span class="special">};</span>
+
+<span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">is_odd_impl</span><span class="special">&gt;</span> <span class="identifier">is_odd</span><span class="special">;</span>
+</pre>
+<h5>
+<a name="phoenix.starter_kit.lazy_functions.h0"></a>
+ <span><a name="phoenix.starter_kit.lazy_functions.things_to_note_"></a></span><a class="link" href="lazy_functions.html#phoenix.starter_kit.lazy_functions.things_to_note_">Things
+ to note:</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Result type deduction is implemented with the help of the result_of protocol.
+ For more information see <a href="/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
+ Of</a>
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">is_odd_impl</span></code> implements
+ the function.
+ </li>
+<li class="listitem">
+ <code class="computeroutput"><span class="identifier">is_odd</span></code>, an instance of
+ <code class="computeroutput"><span class="identifier">function</span><span class="special">&lt;</span><span class="identifier">is_odd_impl</span><span class="special">&gt;</span></code>,
+ is the lazy function.
+ </li>
+</ul></div>
+<p>
+ Now, <code class="computeroutput"><span class="identifier">is_odd</span></code> is a truly lazy
+ function that we can use in conjunction with the rest of phoenix. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">is_odd</span><span class="special">(</span><span class="identifier">arg1</span><span class="special">));</span>
+</pre>
+<p>
+ (See function.cpp)
+ </p>
+<h5>
+<a name="phoenix.starter_kit.lazy_functions.h1"></a>
+ <span><a name="phoenix.starter_kit.lazy_functions.predefined_lazy_functions"></a></span><a class="link" href="lazy_functions.html#phoenix.starter_kit.lazy_functions.predefined_lazy_functions">Predefined
+ Lazy Functions</a>
+ </h5>
+<p>
+ The library is chock full of STL savvy, predefined lazy functions covering
+ the whole of the STL containers, iterators and algorithms. For example, there
+ are lazy versions of container related operations such as assign, at, back,
+ begin, pop_back, pop_front, push_back, push_front, etc. (See <a class="link" href="../modules/stl.html" title="STL">STL</a>).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="construct__new__delete__casts.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="more.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_operators.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,164 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Lazy Operators - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="arguments.html" title="Arguments">
+<link rel="next" href="lazy_statements.html" title="Lazy Statements">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="arguments.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_statements.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.starter_kit.lazy_operators"></a><a class="link" href="lazy_operators.html" title="Lazy Operators">Lazy Operators</a>
+</h3></div></div></div>
+<p>
+ You can use the usual set of operators to form expressions. Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">arg1</span> <span class="special">*</span> <span class="identifier">arg1</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">arg1</span> <span class="special">+</span> <span class="identifier">ref</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span>
+<span class="identifier">arg1</span> <span class="special">=</span> <span class="identifier">arg2</span> <span class="special">+</span> <span class="special">(</span><span class="number">3</span> <span class="special">*</span> <span class="identifier">arg3</span><span class="special">)</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">arg1</span><span class="special">[</span><span class="identifier">arg2</span><span class="special">]</span> <span class="comment">// assuming arg1 is indexable and arg2 is a valid index</span>
+</pre>
+<p>
+ Note the expression: <code class="computeroutput"><span class="number">3</span> <span class="special">*</span>
+ <span class="identifier">arg3</span></code>. This expression is actually
+ a short-hand equivalent to: <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span>
+ <span class="special">*</span> <span class="identifier">arg3</span></code>.
+ In most cases, like above, you can get away with it. But in some cases, you
+ will have to explicitly wrap your values in <code class="computeroutput"><span class="identifier">val</span></code>.
+ Rules of thumb:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ In a binary expression (e.g. <code class="computeroutput"><span class="number">3</span>
+ <span class="special">*</span> <span class="identifier">arg3</span></code>),
+ at least one of the operands must be a phoenix primitive or expression.
+ </li>
+<li class="listitem">
+ In a unary expression (e.g. <code class="computeroutput"><span class="identifier">arg1</span><span class="special">++</span></code>), the single operand must be a phoenix
+ primitive or expression.
+ </li>
+</ul></div>
+<p>
+ If these basic rules are not followed, the result is either an error, or
+ is immediately evaluated. Some examples:
+ </p>
+<pre class="programlisting"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">=</span> <span class="number">123</span> <span class="comment">// lazy</span>
+<span class="identifier">x</span> <span class="special">=</span> <span class="number">123</span> <span class="comment">// immediate</span>
+
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)[</span><span class="number">0</span><span class="special">]</span> <span class="comment">// lazy</span>
+<span class="identifier">x</span><span class="special">[</span><span class="number">0</span><span class="special">]</span> <span class="comment">// immediate</span>
+
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)[</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)]</span> <span class="comment">// lazy</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">)[</span><span class="identifier">i</span><span class="special">]</span> <span class="comment">// lazy (equivalent to ref(x)[val(i)])</span>
+<span class="identifier">x</span><span class="special">[</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)]</span> <span class="comment">// illegal (x is not a phoenix primitive or expression)</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">x</span><span class="special">[</span><span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)])</span> <span class="comment">// illegal (x is not a phoenix primitive or expression)</span>
+</pre>
+<p>
+ Why are the last two expression illegal? Although <code class="computeroutput"><span class="keyword">operator</span><span class="special">[]</span></code> looks as much like a binary operator as
+ <code class="computeroutput"><span class="keyword">operator</span><span class="special">=</span></code>
+ above it; the difference is that the former must be a member (i.e. <code class="computeroutput"><span class="identifier">x</span></code> must have an <code class="computeroutput"><span class="keyword">operator</span><span class="special">[]</span></code> that takes a phoenix primitive or expression
+ as its argument). This will most likely not be the case.
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about operators <a class="link" href="../modules/operator.html" title="Operator">here.</a>
+ </p>
+</div>
+<h5>
+<a name="phoenix.starter_kit.lazy_operators.h0"></a>
+ <span><a name="phoenix.starter_kit.lazy_operators.first_practical_example"></a></span><a class="link" href="lazy_operators.html#phoenix.starter_kit.lazy_operators.first_practical_example">First
+ Practical Example</a>
+ </h5>
+<p>
+ We've covered enough ground to present a real world example. We want to find
+ the first odd number in an STL container. Normally we use a functor (function
+ object) or a function pointer and pass that in to STL's <code class="computeroutput"><span class="identifier">find_if</span></code>
+ generic function:
+ </p>
+<p>
+ Write a function:
+ </p>
+<pre class="programlisting"><span class="keyword">bool</span>
+<span class="identifier">is_odd</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">arg1</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="keyword">return</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ Pass a pointer to the function to STL's <code class="computeroutput"><span class="identifier">find_if</span></code>
+ algorithm:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="special">&amp;</span><span class="identifier">is_odd</span><span class="special">)</span>
+</pre>
+<p>
+ Using Phoenix, the same can be achieved directly with a one-liner:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find_if</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">arg1</span> <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span><span class="special">)</span>
+</pre>
+<p>
+ The expression <code class="computeroutput"><span class="identifier">arg1</span> <span class="special">%</span>
+ <span class="number">2</span> <span class="special">==</span> <span class="number">1</span></code> automagically creates a functor with the
+ expected behavior. In FP, this unnamed function is called a lambda function.
+ Unlike the function pointer version, which is monomorphic (expects and works
+ only with a fixed type int argument), the Phoenix version is fully polymorphic
+ and works with any container (of ints, of longs, of bignum, etc.) as long
+ as its elements can handle the <code class="computeroutput"><span class="identifier">arg1</span>
+ <span class="special">%</span> <span class="number">2</span> <span class="special">==</span> <span class="number">1</span></code> expression.
+ </p>
+<p>
+ (See find_if.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> ...<span class="bold"><strong>That's it, we're done</strong></span>.
+ Well if you wish to know a little bit more, read on...
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="arguments.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="lazy_statements.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_statements.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/lazy_statements.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,87 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Lazy Statements - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="lazy_operators.html" title="Lazy Operators">
+<link rel="next" href="construct__new__delete__casts.html" title="Construct, New, Delete, Casts">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="lazy_operators.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="construct__new__delete__casts.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.starter_kit.lazy_statements"></a><a class="link" href="lazy_statements.html" title="Lazy Statements">Lazy Statements</a>
+</h3></div></div></div>
+<p>
+ Lazy statements? Sure. There are lazy versions of the C++ statements we all
+ know and love. For example:
+ </p>
+<pre class="programlisting"><span class="identifier">if_</span><span class="special">(</span><span class="identifier">arg1</span> <span class="special">&gt;</span> <span class="number">5</span><span class="special">)</span>
+<span class="special">[</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span>
+<span class="special">]</span>
+</pre>
+<p>
+ Say, for example, we wish to print all the elements that are greater than
+ 5 (separated by a comma) in a vector. Here's how we write it:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span><span class="identifier">v</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">v</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span>
+ <span class="identifier">if_</span><span class="special">(</span><span class="identifier">arg1</span> <span class="special">&gt;</span> <span class="number">5</span><span class="special">)</span>
+ <span class="special">[</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">arg1</span> <span class="special">&lt;&lt;</span> <span class="string">", "</span>
+ <span class="special">]</span>
+<span class="special">);</span>
+</pre>
+<p>
+ (See if.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about statements <a class="link" href="../modules/statement.html" title="Statement">here.</a>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lazy_operators.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="construct__new__delete__casts.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/more.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/more.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,73 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>More - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="lazy_functions.html" title="Lazy Functions">
+<link rel="next" href="../basics.html" title="Basics">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="lazy_functions.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="../basics.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.starter_kit.more"></a><a class="link" href="more.html" title="More">More</a>
+</h3></div></div></div>
+<p>
+ As mentioned earlier, this chapter is not a thorough discourse of the library.
+ It is meant only to cover enough ground to get you into high gear as quickly
+ as possible. Some advanced stuff is not discussed here (e.g. <a class="link" href="../modules/scope.html" title="Scope">Scopes</a>);
+ nor are features that provide alternative (short-hand) ways to do the same
+ things (e.g. <a class="link" href="../modules/bind.html" title="Bind">Bind</a> vs. <a class="link" href="../modules/function.html" title="Function">Lazy
+ Functions</a>).
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> ...<span class="bold"><strong>If you still wish to learn
+ more, the read on...</strong></span>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lazy_functions.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="../basics.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/references.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/references.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>References - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="values.html" title="Values">
+<link rel="next" href="arguments.html" title="Arguments">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="values.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="arguments.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.starter_kit.references"></a><a class="link" href="references.html" title="References">References</a>
+</h3></div></div></div>
+<p>
+ References are functions. They hold a reference to a value stored somewhere.
+ For example, given:
+ </p>
+<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="keyword">char</span> <span class="keyword">const</span><span class="special">*</span> <span class="identifier">s</span> <span class="special">=</span> <span class="string">"Hello World"</span><span class="special">;</span>
+</pre>
+<p>
+ we create <code class="computeroutput"><span class="identifier">references</span></code> to
+ <code class="computeroutput"><span class="identifier">i</span></code> and <code class="computeroutput"><span class="identifier">s</span></code>
+ this way:
+ </p>
+<pre class="programlisting"><span class="identifier">ref</span><span class="special">(</span><span class="identifier">i</span><span class="special">)</span>
+<span class="identifier">ref</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span>
+</pre>
+<p>
+ Like <code class="computeroutput"><span class="identifier">val</span></code>, the expressions
+ above evaluates to a nullary function; the first one returning an <code class="computeroutput"><span class="keyword">int</span><span class="special">&amp;</span></code>,
+ and the second one returning a <code class="computeroutput"><span class="keyword">char</span>
+ <span class="keyword">const</span><span class="special">*&amp;</span></code>.
+ </p>
+<p>
+ (See references.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about references <a class="link" href="../modules/core/references.html" title="References">here.</a>
+ </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="values.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="arguments.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/values.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/starter_kit/values.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,131 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Values - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../starter_kit.html" title="Starter Kit">
+<link rel="prev" href="../starter_kit.html" title="Starter Kit">
+<link rel="next" href="references.html" title="References">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../starter_kit.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="references.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.starter_kit.values"></a><a class="link" href="values.html" title="Values">Values</a>
+</h3></div></div></div>
+<p>
+ Values are functions! Examples:
+ </p>
+<pre class="programlisting"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span>
+<span class="identifier">val</span><span class="special">(</span><span class="string">"Hello, World"</span><span class="special">)</span>
+</pre>
+<p>
+ The first evaluates to a nullary function (a function taking no arguments)
+ that returns an <code class="computeroutput"><span class="keyword">int</span></code>, <code class="computeroutput"><span class="number">3</span></code>. The second evaluates to a nullary function
+ that returns a <code class="computeroutput"><span class="keyword">char</span> <span class="keyword">const</span><span class="special">(&amp;)[</span><span class="number">13</span><span class="special">]</span></code>, <code class="computeroutput"><span class="string">"Hello,
+ World"</span></code>.
+ </p>
+<h5>
+<a name="phoenix.starter_kit.values.h0"></a>
+ <span><a name="phoenix.starter_kit.values.lazy_evaluation"></a></span><a class="link" href="values.html#phoenix.starter_kit.values.lazy_evaluation">Lazy
+ Evaluation</a>
+ </h5>
+<p>
+ Confused? <code class="computeroutput"><span class="identifier">val</span></code> is a unary
+ function and <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code> invokes
+ it, you say? Yes. However, read carefully: <span class="emphasis"><em>"evaluates to a
+ nullary function"</em></span>. <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code>
+ evaluates to (returns) a nullary function. Aha! <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code>
+ returns a function! So, since <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code>
+ returns a function, you can invoke it. Example:
+ </p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+</pre>
+<p>
+ (See values.cpp)
+ </p>
+<div class="sidebar">
+<div class="titlepage"></div>
+<p>
+ <span class="inlinemediaobject"><img src="../../images/tip.png" alt="tip"></span> Learn more about values <a class="link" href="../modules/core/values.html" title="Values">here.</a>
+ </p>
+</div>
+<p>
+ The second function call (the one with no arguments) calls the nullary function
+ which then returns <code class="computeroutput"><span class="number">3</span></code>. The need
+ for a second function call is the reason why the function is said to be
+ <span class="bold"><strong><span class="emphasis"><em>Lazily Evaluated</em></span></strong></span>. The
+ first call doesn't do anything. You need a second call to finally evaluate
+ the thing. The first call lazily evaluates the function; i.e. doesn't do
+ anything and defers the evaluation for later.
+ </p>
+<h5>
+<a name="phoenix.starter_kit.values.h1"></a>
+ <span><a name="phoenix.starter_kit.values.callbacks"></a></span><a class="link" href="values.html#phoenix.starter_kit.values.callbacks">Callbacks</a>
+ </h5>
+<p>
+ It may not be immediately apparent how lazy evaluation can be useful by just
+ looking at the example above. Putting the first and second function call
+ in a single line is really not very useful. However, thinking of <code class="computeroutput"><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">)</span></code> as a callback function (and in most cases
+ they are actually used that way), will make it clear. Example:
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">print</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">f</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span>
+
+<span class="keyword">int</span>
+<span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span>
+ <span class="identifier">print</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="number">3</span><span class="special">));</span>
+ <span class="identifier">print</span><span class="special">(</span><span class="identifier">val</span><span class="special">(</span><span class="string">"Hello World"</span><span class="special">));</span>
+ <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
+<span class="special">}</span>
+</pre>
+<p>
+ (See callback.cpp)
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../starter_kit.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../starter_kit.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="references.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/what_s_new.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/what_s_new.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,59 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>What's New - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="next" href="what_s_new/phoenix_3_0.html" title="Phoenix 3.0">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<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="what_s_new/phoenix_3_0.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">
+<a name="phoenix.what_s_new"></a><a class="link" href="what_s_new.html" title="What's New">What's New</a>
+</h2></div></div></div>
+<div class="toc"><dl><dt><span class="section">Phoenix 3.0</span></dt></dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../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="what_s_new/phoenix_3_0.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/what_s_new/phoenix_3_0.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/what_s_new/phoenix_3_0.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,82 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Phoenix 3.0 - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../what_s_new.html" title="What's New">
+<link rel="prev" href="../what_s_new.html" title="What's New">
+<link rel="next" href="../introduction.html" title="Introduction">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="../what_s_new.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../what_s_new.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="../introduction.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.what_s_new.phoenix_3_0"></a><a class="link" href="phoenix_3_0.html" title="Phoenix 3.0">Phoenix 3.0</a>
+</h3></div></div></div>
+<p>
+ This is the first official release of Phoenix as first class Boost citizen.
+ As a consequence of the review of Phoenix V2 the internals got completely
+ rewritten. Therefore the internal extension mechanism is different.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ composite&lt;...&gt;, as_composite&lt;...&gt; and compose are gone and
+ have been replaced. For an in depth discussion see the section <a class="link" href="../inside.html" title="Inside Phoenix">Inside Phoenix</a>
+ </li>
+<li class="listitem">
+ <a class="link" href="../modules/function.html" title="Function">phoenix.modules.function</a>
+ phoenix::function now supports function objects that implement the <a href="/doc/libs/release/libs/utility/utility.htm#result_of" target="_top">Boost.Result
+ Of</a> protocol. <span class="bold"><strong>This is a breaking change</strong></span>
+ </li>
+<li class="listitem">
+ Boilerplate macros to easily adapt already existing functions and function
+ objects
+ </li>
+<li class="listitem">
+ <a class="link" href="../modules/bind.html" title="Bind">Bind</a> is no completely compatible
+ with Boost.Bind
+ </li>
+</ul></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../what_s_new.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../what_s_new.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="../introduction.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/wrap_up.html
==============================================================================
--- (empty file)
+++ website/public_html/live/doc/libs/1_50_0/libs/phoenix/doc/html/phoenix/wrap_up.html 2012-07-14 02:44:55 EDT (Sat, 14 Jul 2012)
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Wrap Up - Boost 1.50.0</title>
+<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&#160;1.&#160;Phoenix 3.0">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Phoenix 3.0">
+<link rel="prev" href="examples/transforming_the_expression_tree.html" title="Transforming the Expression Tree">
+<link rel="next" href="acknowledgments.html" title="Acknowledgments">
+<link rel="icon" href="/favicon.ico" type="image/ico"><link rel="stylesheet" type="text/css" href="/style-v2/section-basic.css"></head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <div id="boost-common-heading-doc">
+ <div class="heading-inner">
+ <div class="heading-placard"></div>
+
+ <h1 class="heading-title">
+ <a href="/">
+ <img src="/gfx/space.png" alt= "Boost C++ Libraries" class="heading-logo" />
+ <span class="heading-boost">Boost</span>
+ <span class="heading-cpplibraries">C++ Libraries</span>
+ </a></h1>
+
+ <p class="heading-quote">
+ <q>...one of the most highly
+ regarded and expertly designed C++ library projects in the
+ world.</q> <span class="heading-attribution">&mdash; <a href=
+ "http://www.gotw.ca/" class="external">Herb Sutter</a> and <a href=
+ "http://en.wikipedia.org/wiki/Andrei_Alexandrescu" class="external">Andrei
+ Alexandrescu</a>, <a href=
+ "http://safari.awprofessional.com/?XmlId=0321113586" class="external">C++
+ Coding Standards</a></span></p>
+</div>
+ </div>
+
+ <div id="boost-common-heading-doc-spacer"></div>
+
+<div class="spirit-nav">
+<a accesskey="p" href="examples/transforming_the_expression_tree.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="acknowledgments.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">
+<a name="phoenix.wrap_up"></a><a class="link" href="wrap_up.html" title="Wrap Up">Wrap Up</a>
+</h2></div></div></div>
+<p>
+ Sooner or later more FP techniques become standard practice as people find
+ the true value of this programming discipline outside the academe and into
+ the mainstream. In as much as structured programming of the 70s and object
+ oriented programming in the 80s and generic programming in the 90s shaped our
+ thoughts towards a more robust sense of software engineering, FP will certainly
+ be a paradigm that will catapult us towards more powerful software design and
+ engineering onward into the new millennium.
+ </p>
+<p>
+ Let me quote Doug Gregor of Boost.org. About functional style programming libraries:
+ </p>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ <span class="emphasis"><em>They're gaining acceptance, but are somewhat stunted by the ubiquitousness
+ of broken compilers. The C++ community is moving deeper into the so-called
+ "STL- style" programming paradigm, which brings many aspects of
+ functional programming into the fold. Look at, for instance, the Spirit parser
+ to see how such function objects can be used to build Yacc-like grammars
+ with semantic actions that can build abstract syntax trees on the fly. This
+ type of functional composition is gaining momentum.</em></span>
+ </p></blockquote></div>
+<p>
+ Indeed. Phoenix is another attempt to introduce more FP techniques into the
+ mainstream. Not only is it a tool that will make life easier for the programmer.
+ In its own right, the actual design of the library itself is a model of true
+ C++ FP in action. The library is designed and structured in a strict but clear
+ and well mannered FP sense. By all means, use the library as a tool. But for
+ those who want to learn more about FP in C++, don't stop there, I invite you
+ to take a closer look at the design of the library itself.
+ </p>
+<p>
+ So there you have it. Have fun! See you in the FP world.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2002-2005, 2010 Joel de Guzman, Dan Marsden, Thomas Heller<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="examples/transforming_the_expression_tree.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="acknowledgments.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>


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