Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r80748 - in branches/release: . boost boost/phoenix/core boost/phoenix/core/detail boost/phoenix/core/detail/preprocessed boost/phoenix/core/preprocessed boost/phoenix/object boost/phoenix/scope boost/phoenix/scope/preprocessed boost/phoenix/statement boost/phoenix/statement/detail boost/phoenix/statement/detail/preprocessed boost/phoenix/stl/container boost/phoenix/stl/container/detail libs libs/phoenix/preprocess libs/phoenix/test/algorithm libs/phoenix/test/boost_bind_compatibility
From: eric_at_[hidden]
Date: 2012-09-28 19:08:23


Author: eric_niebler
Date: 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
New Revision: 80748
URL: http://svn.boost.org/trac/boost/changeset/80748

Log:
phoenix: merge [80729], [80730], [80733], [80734] from trunk
Added:
   branches/release/libs/phoenix/preprocess/Jamfile.v2
      - copied unchanged from r80729, /trunk/libs/phoenix/preprocess/Jamfile.v2
   branches/release/libs/phoenix/preprocess/wave-msvc-10.0.cfg
      - copied unchanged from r80729, /trunk/libs/phoenix/preprocess/wave-msvc-10.0.cfg
Properties modified:
   branches/release/ (props changed)
   branches/release/boost/ (props changed)
   branches/release/libs/ (props changed)
Text files modified:
   branches/release/boost/phoenix/core/detail/function_eval.hpp | 14 +-
   branches/release/boost/phoenix/core/detail/preprocessed/function_eval_10.hpp | 18 +-
   branches/release/boost/phoenix/core/detail/preprocessed/function_eval_20.hpp | 38 +++---
   branches/release/boost/phoenix/core/detail/preprocessed/function_eval_30.hpp | 58 +++++-----
   branches/release/boost/phoenix/core/detail/preprocessed/function_eval_40.hpp | 78 +++++++-------
   branches/release/boost/phoenix/core/detail/preprocessed/function_eval_50.hpp | 98 +++++++++---------
   branches/release/boost/phoenix/core/expression.hpp | 2
   branches/release/boost/phoenix/core/preprocessed/expression_10.hpp | 20 ++--
   branches/release/boost/phoenix/core/preprocessed/expression_20.hpp | 40 ++++----
   branches/release/boost/phoenix/core/preprocessed/expression_30.hpp | 60 ++++++------
   branches/release/boost/phoenix/core/preprocessed/expression_40.hpp | 80 ++++++++--------
   branches/release/boost/phoenix/core/preprocessed/expression_50.hpp | 100 ++++++++++----------
   branches/release/boost/phoenix/object/delete.hpp | 2
   branches/release/boost/phoenix/scope/lambda.hpp | 4
   branches/release/boost/phoenix/scope/preprocessed/lambda_10.hpp | 6
   branches/release/boost/phoenix/scope/preprocessed/lambda_20.hpp | 6
   branches/release/boost/phoenix/scope/preprocessed/lambda_30.hpp | 6
   branches/release/boost/phoenix/scope/preprocessed/lambda_40.hpp | 6
   branches/release/boost/phoenix/scope/preprocessed/lambda_50.hpp | 6
   branches/release/boost/phoenix/statement/detail/preprocessed/switch_10.hpp | 36 +++---
   branches/release/boost/phoenix/statement/detail/preprocessed/switch_20.hpp | 76 +++++++-------
   branches/release/boost/phoenix/statement/detail/preprocessed/switch_30.hpp | 116 +++++++++++-----------
   branches/release/boost/phoenix/statement/detail/preprocessed/switch_40.hpp | 156 +++++++++++++++---------------
   branches/release/boost/phoenix/statement/detail/preprocessed/switch_50.hpp | 196 +++++++++++++++++++-------------------
   branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_10.hpp | 40 ++++----
   branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_20.hpp | 80 ++++++++--------
   branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_30.hpp | 120 ++++++++++++------------
   branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_40.hpp | 160 ++++++++++++++++----------------
   branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_50.hpp | 200 ++++++++++++++++++++--------------------
   branches/release/boost/phoenix/statement/detail/switch.hpp | 4
   branches/release/boost/phoenix/statement/detail/try_catch_eval.hpp | 4
   branches/release/boost/phoenix/statement/do_while.hpp | 2
   branches/release/boost/phoenix/statement/for.hpp | 2
   branches/release/boost/phoenix/statement/if.hpp | 2
   branches/release/boost/phoenix/statement/switch.hpp | 8
   branches/release/boost/phoenix/statement/throw.hpp | 2
   branches/release/boost/phoenix/statement/try_catch.hpp | 13 ++
   branches/release/boost/phoenix/statement/while.hpp | 2
   branches/release/boost/phoenix/stl/container/container.hpp | 59 ++++++++++-
   branches/release/boost/phoenix/stl/container/detail/container.hpp | 20 ++++
   branches/release/libs/phoenix/preprocess/wave.cfg | 10 ++
   branches/release/libs/phoenix/test/algorithm/transformation2.cpp | 1
   branches/release/libs/phoenix/test/algorithm/transformation3.cpp | 1
   branches/release/libs/phoenix/test/boost_bind_compatibility/bind_stateful_test.cpp | 104 +++++++++++++++++---
   44 files changed, 1109 insertions(+), 947 deletions(-)

Modified: branches/release/boost/phoenix/core/detail/function_eval.hpp
==============================================================================
--- branches/release/boost/phoenix/core/detail/function_eval.hpp (original)
+++ branches/release/boost/phoenix/core/detail/function_eval.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -99,11 +99,15 @@
 
         #define PHOENIX_GET_ARG(z, n, data) \
             typedef \
- typename boost::result_of< \
- boost::phoenix::evaluator( \
- BOOST_PP_CAT(A, n) \
- , Context \
- ) \
+ typename boost::add_reference< \
+ typename boost::add_const< \
+ typename boost::result_of< \
+ boost::phoenix::evaluator( \
+ BOOST_PP_CAT(A, n) \
+ , Context \
+ ) \
+ >::type \
+ >::type \
>::type \
                 BOOST_PP_CAT(a, n);
 

Modified: branches/release/boost/phoenix/core/detail/preprocessed/function_eval_10.hpp
==============================================================================
--- branches/release/boost/phoenix/core/detail/preprocessed/function_eval_10.hpp (original)
+++ branches/release/boost/phoenix/core/detail/preprocessed/function_eval_10.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -66,7 +66,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0;
                 typedef typename
                     boost::result_of<fn(a0)>::type
                     type;
@@ -116,7 +116,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1;
                 typedef typename
                     boost::result_of<fn(a0 , a1)>::type
                     type;
@@ -166,7 +166,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2)>::type
                     type;
@@ -216,7 +216,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3)>::type
                     type;
@@ -266,7 +266,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4)>::type
                     type;
@@ -316,7 +316,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5)>::type
                     type;
@@ -366,7 +366,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6)>::type
                     type;
@@ -416,7 +416,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)>::type
                     type;
@@ -466,7 +466,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)>::type
                     type;

Modified: branches/release/boost/phoenix/core/detail/preprocessed/function_eval_20.hpp
==============================================================================
--- branches/release/boost/phoenix/core/detail/preprocessed/function_eval_20.hpp (original)
+++ branches/release/boost/phoenix/core/detail/preprocessed/function_eval_20.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -66,7 +66,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0;
                 typedef typename
                     boost::result_of<fn(a0)>::type
                     type;
@@ -116,7 +116,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1;
                 typedef typename
                     boost::result_of<fn(a0 , a1)>::type
                     type;
@@ -166,7 +166,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2)>::type
                     type;
@@ -216,7 +216,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3)>::type
                     type;
@@ -266,7 +266,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4)>::type
                     type;
@@ -316,7 +316,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5)>::type
                     type;
@@ -366,7 +366,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6)>::type
                     type;
@@ -416,7 +416,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)>::type
                     type;
@@ -466,7 +466,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)>::type
                     type;
@@ -516,7 +516,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9)>::type
                     type;
@@ -566,7 +566,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10)>::type
                     type;
@@ -616,7 +616,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11)>::type
                     type;
@@ -666,7 +666,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12)>::type
                     type;
@@ -716,7 +716,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13)>::type
                     type;
@@ -766,7 +766,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14)>::type
                     type;
@@ -816,7 +816,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15)>::type
                     type;
@@ -866,7 +866,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16)>::type
                     type;
@@ -916,7 +916,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17)>::type
                     type;
@@ -966,7 +966,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18)>::type
                     type;

Modified: branches/release/boost/phoenix/core/detail/preprocessed/function_eval_30.hpp
==============================================================================
--- branches/release/boost/phoenix/core/detail/preprocessed/function_eval_30.hpp (original)
+++ branches/release/boost/phoenix/core/detail/preprocessed/function_eval_30.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -66,7 +66,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0;
                 typedef typename
                     boost::result_of<fn(a0)>::type
                     type;
@@ -116,7 +116,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1;
                 typedef typename
                     boost::result_of<fn(a0 , a1)>::type
                     type;
@@ -166,7 +166,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2)>::type
                     type;
@@ -216,7 +216,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3)>::type
                     type;
@@ -266,7 +266,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4)>::type
                     type;
@@ -316,7 +316,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5)>::type
                     type;
@@ -366,7 +366,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6)>::type
                     type;
@@ -416,7 +416,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)>::type
                     type;
@@ -466,7 +466,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)>::type
                     type;
@@ -516,7 +516,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9)>::type
                     type;
@@ -566,7 +566,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10)>::type
                     type;
@@ -616,7 +616,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11)>::type
                     type;
@@ -666,7 +666,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12)>::type
                     type;
@@ -716,7 +716,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13)>::type
                     type;
@@ -766,7 +766,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14)>::type
                     type;
@@ -816,7 +816,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15)>::type
                     type;
@@ -866,7 +866,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16)>::type
                     type;
@@ -916,7 +916,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17)>::type
                     type;
@@ -966,7 +966,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18)>::type
                     type;
@@ -1016,7 +1016,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19)>::type
                     type;
@@ -1066,7 +1066,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20)>::type
                     type;
@@ -1116,7 +1116,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21)>::type
                     type;
@@ -1166,7 +1166,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22)>::type
                     type;
@@ -1216,7 +1216,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23)>::type
                     type;
@@ -1266,7 +1266,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24)>::type
                     type;
@@ -1316,7 +1316,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25)>::type
                     type;
@@ -1366,7 +1366,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26)>::type
                     type;
@@ -1416,7 +1416,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27)>::type
                     type;
@@ -1466,7 +1466,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28)>::type
                     type;

Modified: branches/release/boost/phoenix/core/detail/preprocessed/function_eval_40.hpp
==============================================================================
--- branches/release/boost/phoenix/core/detail/preprocessed/function_eval_40.hpp (original)
+++ branches/release/boost/phoenix/core/detail/preprocessed/function_eval_40.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -66,7 +66,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0;
                 typedef typename
                     boost::result_of<fn(a0)>::type
                     type;
@@ -116,7 +116,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1;
                 typedef typename
                     boost::result_of<fn(a0 , a1)>::type
                     type;
@@ -166,7 +166,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2)>::type
                     type;
@@ -216,7 +216,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3)>::type
                     type;
@@ -266,7 +266,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4)>::type
                     type;
@@ -316,7 +316,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5)>::type
                     type;
@@ -366,7 +366,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6)>::type
                     type;
@@ -416,7 +416,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)>::type
                     type;
@@ -466,7 +466,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)>::type
                     type;
@@ -516,7 +516,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9)>::type
                     type;
@@ -566,7 +566,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10)>::type
                     type;
@@ -616,7 +616,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11)>::type
                     type;
@@ -666,7 +666,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12)>::type
                     type;
@@ -716,7 +716,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13)>::type
                     type;
@@ -766,7 +766,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14)>::type
                     type;
@@ -816,7 +816,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15)>::type
                     type;
@@ -866,7 +866,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16)>::type
                     type;
@@ -916,7 +916,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17)>::type
                     type;
@@ -966,7 +966,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18)>::type
                     type;
@@ -1016,7 +1016,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19)>::type
                     type;
@@ -1066,7 +1066,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20)>::type
                     type;
@@ -1116,7 +1116,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21)>::type
                     type;
@@ -1166,7 +1166,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22)>::type
                     type;
@@ -1216,7 +1216,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23)>::type
                     type;
@@ -1266,7 +1266,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24)>::type
                     type;
@@ -1316,7 +1316,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25)>::type
                     type;
@@ -1366,7 +1366,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26)>::type
                     type;
@@ -1416,7 +1416,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27)>::type
                     type;
@@ -1466,7 +1466,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28)>::type
                     type;
@@ -1516,7 +1516,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29)>::type
                     type;
@@ -1566,7 +1566,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30)>::type
                     type;
@@ -1616,7 +1616,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31)>::type
                     type;
@@ -1666,7 +1666,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32)>::type
                     type;
@@ -1716,7 +1716,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33)>::type
                     type;
@@ -1766,7 +1766,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34)>::type
                     type;
@@ -1816,7 +1816,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35)>::type
                     type;
@@ -1866,7 +1866,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36)>::type
                     type;
@@ -1916,7 +1916,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36; typedef typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type a37;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_referenc
e< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37)>::type
                     type;
@@ -1966,7 +1966,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36; typedef typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type a37; typedef typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type a38;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_referenc
e< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38)>::type
                     type;

Modified: branches/release/boost/phoenix/core/detail/preprocessed/function_eval_50.hpp
==============================================================================
--- branches/release/boost/phoenix/core/detail/preprocessed/function_eval_50.hpp (original)
+++ branches/release/boost/phoenix/core/detail/preprocessed/function_eval_50.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -66,7 +66,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0;
                 typedef typename
                     boost::result_of<fn(a0)>::type
                     type;
@@ -116,7 +116,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1;
                 typedef typename
                     boost::result_of<fn(a0 , a1)>::type
                     type;
@@ -166,7 +166,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2)>::type
                     type;
@@ -216,7 +216,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3)>::type
                     type;
@@ -266,7 +266,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4)>::type
                     type;
@@ -316,7 +316,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5)>::type
                     type;
@@ -366,7 +366,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6)>::type
                     type;
@@ -416,7 +416,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7)>::type
                     type;
@@ -466,7 +466,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8)>::type
                     type;
@@ -516,7 +516,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9)>::type
                     type;
@@ -566,7 +566,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10)>::type
                     type;
@@ -616,7 +616,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11)>::type
                     type;
@@ -666,7 +666,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12)>::type
                     type;
@@ -716,7 +716,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13)>::type
                     type;
@@ -766,7 +766,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14)>::type
                     type;
@@ -816,7 +816,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15)>::type
                     type;
@@ -866,7 +866,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16)>::type
                     type;
@@ -916,7 +916,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17)>::type
                     type;
@@ -966,7 +966,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18)>::type
                     type;
@@ -1016,7 +1016,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19)>::type
                     type;
@@ -1066,7 +1066,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20)>::type
                     type;
@@ -1116,7 +1116,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21)>::type
                     type;
@@ -1166,7 +1166,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22)>::type
                     type;
@@ -1216,7 +1216,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23)>::type
                     type;
@@ -1266,7 +1266,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24)>::type
                     type;
@@ -1316,7 +1316,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25)>::type
                     type;
@@ -1366,7 +1366,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26)>::type
                     type;
@@ -1416,7 +1416,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27)>::type
                     type;
@@ -1466,7 +1466,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28)>::type
                     type;
@@ -1516,7 +1516,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29)>::type
                     type;
@@ -1566,7 +1566,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30)>::type
                     type;
@@ -1616,7 +1616,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31)>::type
                     type;
@@ -1666,7 +1666,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32)>::type
                     type;
@@ -1716,7 +1716,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33)>::type
                     type;
@@ -1766,7 +1766,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34)>::type
                     type;
@@ -1816,7 +1816,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35)>::type
                     type;
@@ -1866,7 +1866,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36)>::type
                     type;
@@ -1916,7 +1916,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36; typedef typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type a37;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_referenc
e< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37)>::type
                     type;
@@ -1966,7 +1966,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36; typedef typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type a37; typedef typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type a38;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_referenc
e< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38)>::type
                     type;
@@ -2016,7 +2016,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36; typedef typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type a37; typedef typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type a38; typedef typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type a39;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_referenc
e< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39)>::type
                     type;
@@ -2066,7 +2066,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36; typedef typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type a37; typedef typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type a38; typedef typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type a39; typedef typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type a40;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_referenc
e< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40)>::type
                     type;
@@ -2116,7 +2116,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36; typedef typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type a37; typedef typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type a38; typedef typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type a39; typedef typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type a40; typedef typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type a41;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_referenc
e< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41)>::type
                     type;
@@ -2166,7 +2166,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36; typedef typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type a37; typedef typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type a38; typedef typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type a39; typedef typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type a40; typedef typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type a41; typedef typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type a42;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_referenc
e< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type >::type >::type a42;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42)>::type
                     type;
@@ -2216,7 +2216,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36; typedef typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type a37; typedef typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type a38; typedef typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type a39; typedef typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type a40; typedef typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type a41; typedef typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type a42; typedef typename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type a43;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_referenc
e< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type >::type >::type a42; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type >::type >::type a43;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43)>::type
                     type;
@@ -2266,7 +2266,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36; typedef typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type a37; typedef typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type a38; typedef typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type a39; typedef typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type a40; typedef typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type a41; typedef typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type a42; typedef typename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type a43; typedef typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type a44;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_referenc
e< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type >::type >::type a42; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type >::type >::type a43; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type >::type >::type a44;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44)>::type
                     type;
@@ -2316,7 +2316,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36; typedef typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type a37; typedef typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type a38; typedef typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type a39; typedef typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type a40; typedef typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type a41; typedef typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type a42; typedef typename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type a43; typedef typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type a44;
typedef typename boost::result_of< boost::phoenix::evaluator( A45 , Context ) >::type a45;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_referenc
e< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type >::type >::type a42; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type >::type >::type a43; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type >::type >::type a44; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A45 , Context ) >::type >::type >::type a45;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45)>::type
                     type;
@@ -2366,7 +2366,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36; typedef typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type a37; typedef typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type a38; typedef typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type a39; typedef typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type a40; typedef typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type a41; typedef typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type a42; typedef typename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type a43; typedef typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type a44;
typedef typename boost::result_of< boost::phoenix::evaluator( A45 , Context ) >::type a45; typedef typename boost::result_of< boost::phoenix::evaluator( A46 , Context ) >::type a46;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_referenc
e< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type >::type >::type a42; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type >::type >::type a43; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type >::type >::type a44; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A45 , Context ) >::type >::type >::type a45; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A46 , Context ) >::type >::type >::type a46;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46)>::type
                     type;
@@ -2416,7 +2416,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36; typedef typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type a37; typedef typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type a38; typedef typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type a39; typedef typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type a40; typedef typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type a41; typedef typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type a42; typedef typename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type a43; typedef typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type a44;
typedef typename boost::result_of< boost::phoenix::evaluator( A45 , Context ) >::type a45; typedef typename boost::result_of< boost::phoenix::evaluator( A46 , Context ) >::type a46; typedef typename boost::result_of< boost::phoenix::evaluator( A47 , Context ) >::type a47;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_referenc
e< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type >::type >::type a42; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type >::type >::type a43; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type >::type >::type a44; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A45 , Context ) >::type >::type >::type a45; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A46 , Context ) >::type >::type >::type a46; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A47 , Context ) >::type >::type >::type a47;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47)>::type
                     type;
@@ -2466,7 +2466,7 @@
                         typename boost::result_of<evaluator(F, Context)>::type
>::type
                     fn;
- typedef typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type a0; typedef typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type a1; typedef typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type a2; typedef typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type a3; typedef typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type a4; typedef typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type a5; typedef typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type a6; typedef typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type a7; typedef typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type a8; typedef typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type a9; typedef typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type a10; typedef typename boost::r
esult_of< boost::phoenix::evaluator( A11 , Context ) >::type a11; typedef typename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type a12; typedef typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type a13; typedef typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type a14; typedef typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type a15; typedef typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type a16; typedef typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type a17; typedef typename boost::result_of< boost::phoenix::evaluator( A18 , Context ) >::type a18; typedef typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type a19; typedef typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type a20; typedef typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type a21; typedef typename boost::result_of< boost::phoen
ix::evaluator( A22 , Context ) >::type a22; typedef typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type a23; typedef typename boost::result_of< boost::phoenix::evaluator( A24 , Context ) >::type a24; typedef typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type a25; typedef typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type a26; typedef typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type a27; typedef typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type a28; typedef typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type a29; typedef typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type a30; typedef typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type a31; typedef typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type a32; typedef typename boost::result_of< boost::phoenix::evaluator( A33 , C
ontext ) >::type a33; typedef typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type a34; typedef typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type a35; typedef typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type a36; typedef typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type a37; typedef typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type a38; typedef typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type a39; typedef typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type a40; typedef typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type a41; typedef typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type a42; typedef typename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type a43; typedef typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type a44;
typedef typename boost::result_of< boost::phoenix::evaluator( A45 , Context ) >::type a45; typedef typename boost::result_of< boost::phoenix::evaluator( A46 , Context ) >::type a46; typedef typename boost::result_of< boost::phoenix::evaluator( A47 , Context ) >::type a47; typedef typename boost::result_of< boost::phoenix::evaluator( A48 , Context ) >::type a48;
+ typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A0 , Context ) >::type >::type >::type a0; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A1 , Context ) >::type >::type >::type a1; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A2 , Context ) >::type >::type >::type a2; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A3 , Context ) >::type >::type >::type a3; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A4 , Context ) >::type >::type >::type a4; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A5 , Context ) >::type >::type >::type a5; typedef typename boost::add_
reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A6 , Context ) >::type >::type >::type a6; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A7 , Context ) >::type >::type >::type a7; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A8 , Context ) >::type >::type >::type a8; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A9 , Context ) >::type >::type >::type a9; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A10 , Context ) >::type >::type >::type a10; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A11 , Context ) >::type >::type >::type a11; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A12 , Context ) >::type >::type >::type a12; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A13 , Context ) >::type >::type >::type a13; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A14 , Context ) >::type >::type >::type a14; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A15 , Context ) >::type >::type >::type a15; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A16 , Context ) >::type >::type >::type a16; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A17 , Context ) >::type >::type >::type a17; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::ph
oenix::evaluator( A18 , Context ) >::type >::type >::type a18; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A19 , Context ) >::type >::type >::type a19; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A20 , Context ) >::type >::type >::type a20; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A21 , Context ) >::type >::type >::type a21; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A22 , Context ) >::type >::type >::type a22; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A23 , Context ) >::type >::type >::type a23; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A24 , Context )
>::type >::type >::type a24; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A25 , Context ) >::type >::type >::type a25; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A26 , Context ) >::type >::type >::type a26; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A27 , Context ) >::type >::type >::type a27; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A28 , Context ) >::type >::type >::type a28; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A29 , Context ) >::type >::type >::type a29; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A30 , Context ) >::type >::type >::type a30; typ
edef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A31 , Context ) >::type >::type >::type a31; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A32 , Context ) >::type >::type >::type a32; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A33 , Context ) >::type >::type >::type a33; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A34 , Context ) >::type >::type >::type a34; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A35 , Context ) >::type >::type >::type a35; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A36 , Context ) >::type >::type >::type a36; typedef typename boost::add_referenc
e< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A37 , Context ) >::type >::type >::type a37; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A38 , Context ) >::type >::type >::type a38; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A39 , Context ) >::type >::type >::type a39; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A40 , Context ) >::type >::type >::type a40; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A41 , Context ) >::type >::type >::type a41; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A42 , Context ) >::type >::type >::type a42; typedef typename boost::add_reference< typename boost::add_const< typ
ename boost::result_of< boost::phoenix::evaluator( A43 , Context ) >::type >::type >::type a43; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A44 , Context ) >::type >::type >::type a44; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A45 , Context ) >::type >::type >::type a45; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A46 , Context ) >::type >::type >::type a46; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A47 , Context ) >::type >::type >::type a47; typedef typename boost::add_reference< typename boost::add_const< typename boost::result_of< boost::phoenix::evaluator( A48 , Context ) >::type >::type >::type a48;
                 typedef typename
                     boost::result_of<fn(a0 , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 , a9 , a10 , a11 , a12 , a13 , a14 , a15 , a16 , a17 , a18 , a19 , a20 , a21 , a22 , a23 , a24 , a25 , a26 , a27 , a28 , a29 , a30 , a31 , a32 , a33 , a34 , a35 , a36 , a37 , a38 , a39 , a40 , a41 , a42 , a43 , a44 , a45 , a46 , a47 , a48)>::type
                     type;

Modified: branches/release/boost/phoenix/core/expression.hpp
==============================================================================
--- branches/release/boost/phoenix/core/expression.hpp (original)
+++ branches/release/boost/phoenix/core/expression.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -116,7 +116,7 @@
 
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;

Modified: branches/release/boost/phoenix/core/preprocessed/expression_10.hpp
==============================================================================
--- branches/release/boost/phoenix/core/preprocessed/expression_10.hpp (original)
+++ branches/release/boost/phoenix/core/preprocessed/expression_10.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -58,7 +58,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -100,7 +100,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -142,7 +142,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -184,7 +184,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -226,7 +226,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -268,7 +268,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -310,7 +310,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -352,7 +352,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -394,7 +394,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -436,7 +436,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;

Modified: branches/release/boost/phoenix/core/preprocessed/expression_20.hpp
==============================================================================
--- branches/release/boost/phoenix/core/preprocessed/expression_20.hpp (original)
+++ branches/release/boost/phoenix/core/preprocessed/expression_20.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -58,7 +58,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -100,7 +100,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -142,7 +142,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -184,7 +184,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -226,7 +226,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -268,7 +268,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -310,7 +310,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -352,7 +352,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -394,7 +394,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -436,7 +436,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -478,7 +478,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -520,7 +520,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -562,7 +562,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -604,7 +604,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -646,7 +646,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -688,7 +688,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -730,7 +730,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -772,7 +772,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -814,7 +814,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -856,7 +856,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;

Modified: branches/release/boost/phoenix/core/preprocessed/expression_30.hpp
==============================================================================
--- branches/release/boost/phoenix/core/preprocessed/expression_30.hpp (original)
+++ branches/release/boost/phoenix/core/preprocessed/expression_30.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -58,7 +58,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -100,7 +100,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -142,7 +142,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -184,7 +184,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -226,7 +226,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -268,7 +268,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -310,7 +310,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -352,7 +352,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -394,7 +394,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -436,7 +436,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -478,7 +478,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -520,7 +520,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -562,7 +562,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -604,7 +604,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -646,7 +646,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -688,7 +688,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -730,7 +730,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -772,7 +772,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -814,7 +814,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -856,7 +856,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -898,7 +898,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -940,7 +940,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -982,7 +982,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1024,7 +1024,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1066,7 +1066,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1108,7 +1108,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1150,7 +1150,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1192,7 +1192,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1234,7 +1234,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1276,7 +1276,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;

Modified: branches/release/boost/phoenix/core/preprocessed/expression_40.hpp
==============================================================================
--- branches/release/boost/phoenix/core/preprocessed/expression_40.hpp (original)
+++ branches/release/boost/phoenix/core/preprocessed/expression_40.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -58,7 +58,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -100,7 +100,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -142,7 +142,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -184,7 +184,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -226,7 +226,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -268,7 +268,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -310,7 +310,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -352,7 +352,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -394,7 +394,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -436,7 +436,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -478,7 +478,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -520,7 +520,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -562,7 +562,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -604,7 +604,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -646,7 +646,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -688,7 +688,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -730,7 +730,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -772,7 +772,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -814,7 +814,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -856,7 +856,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -898,7 +898,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -940,7 +940,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -982,7 +982,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1024,7 +1024,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1066,7 +1066,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1108,7 +1108,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1150,7 +1150,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1192,7 +1192,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1234,7 +1234,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1276,7 +1276,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1318,7 +1318,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1360,7 +1360,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1402,7 +1402,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1444,7 +1444,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1486,7 +1486,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1528,7 +1528,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1570,7 +1570,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1612,7 +1612,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1654,7 +1654,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1696,7 +1696,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;

Modified: branches/release/boost/phoenix/core/preprocessed/expression_50.hpp
==============================================================================
--- branches/release/boost/phoenix/core/preprocessed/expression_50.hpp (original)
+++ branches/release/boost/phoenix/core/preprocessed/expression_50.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -58,7 +58,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -100,7 +100,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -142,7 +142,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -184,7 +184,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -226,7 +226,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -268,7 +268,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -310,7 +310,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -352,7 +352,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -394,7 +394,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -436,7 +436,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -478,7 +478,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -520,7 +520,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -562,7 +562,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -604,7 +604,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -646,7 +646,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -688,7 +688,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -730,7 +730,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -772,7 +772,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -814,7 +814,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -856,7 +856,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -898,7 +898,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -940,7 +940,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -982,7 +982,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1024,7 +1024,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1066,7 +1066,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1108,7 +1108,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1150,7 +1150,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1192,7 +1192,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1234,7 +1234,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1276,7 +1276,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1318,7 +1318,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1360,7 +1360,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1402,7 +1402,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1444,7 +1444,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1486,7 +1486,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1528,7 +1528,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1570,7 +1570,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1612,7 +1612,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1654,7 +1654,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1696,7 +1696,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1738,7 +1738,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1780,7 +1780,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1822,7 +1822,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1864,7 +1864,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1906,7 +1906,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1948,7 +1948,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -1990,7 +1990,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -2032,7 +2032,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -2074,7 +2074,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;
@@ -2116,7 +2116,7 @@
         }
         template<typename Expr, typename State, typename Data>
         struct impl
- : proto::detail::pass_through_impl<expr_ext, proto::deduce_domain, Expr, State, Data>
+ : proto::pass_through<expr_ext>::template impl<Expr, State, Data>
         {};
         
         typedef Tag proto_tag;

Modified: branches/release/boost/phoenix/object/delete.hpp
==============================================================================
--- branches/release/boost/phoenix/object/delete.hpp (original)
+++ branches/release/boost/phoenix/object/delete.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -26,7 +26,7 @@
 
         template <typename P, typename Context>
         result_type
- operator()(P const& p, Context &ctx) const
+ operator()(P const& p, Context const &ctx) const
         {
             delete boost::phoenix::eval(p, ctx);
         }

Modified: branches/release/boost/phoenix/scope/lambda.hpp
==============================================================================
--- branches/release/boost/phoenix/scope/lambda.hpp (original)
+++ branches/release/boost/phoenix/scope/lambda.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -272,9 +272,9 @@
           , typename Context
>
         typename result<
- lambda_actor_eval(Vars const&, Map const &, Lambda const&, Context &)
+ lambda_actor_eval(Vars const&, Map const &, Lambda const&, Context const &)
>::type const
- operator()(Vars const& vars, Map const& map, Lambda const& lambda, Context & ctx) const
+ operator()(Vars const& vars, Map const& map, Lambda const& lambda, Context const & ctx) const
         {
             typedef
                 typename proto::detail::uncvref<

Modified: branches/release/boost/phoenix/scope/preprocessed/lambda_10.hpp
==============================================================================
--- branches/release/boost/phoenix/scope/preprocessed/lambda_10.hpp (original)
+++ branches/release/boost/phoenix/scope/preprocessed/lambda_10.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -12,7 +12,7 @@
 {
     struct lambda_eval
     {
- typedef void proto_is_callable_;
+ BOOST_PROTO_CALLABLE()
         template <typename Sig>
         struct result;
         template <
@@ -217,9 +217,9 @@
           , typename Context
>
         typename result<
- lambda_actor_eval(Vars const&, Map const &, Lambda const&, Context &)
+ lambda_actor_eval(Vars const&, Map const &, Lambda const&, Context const &)
>::type const
- operator()(Vars const& vars, Map const& map, Lambda const& lambda, Context & ctx) const
+ operator()(Vars const& vars, Map const& map, Lambda const& lambda, Context const & ctx) const
         {
             typedef
                 typename proto::detail::uncvref<

Modified: branches/release/boost/phoenix/scope/preprocessed/lambda_20.hpp
==============================================================================
--- branches/release/boost/phoenix/scope/preprocessed/lambda_20.hpp (original)
+++ branches/release/boost/phoenix/scope/preprocessed/lambda_20.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -12,7 +12,7 @@
 {
     struct lambda_eval
     {
- typedef void proto_is_callable_;
+ BOOST_PROTO_CALLABLE()
         template <typename Sig>
         struct result;
         template <
@@ -217,9 +217,9 @@
           , typename Context
>
         typename result<
- lambda_actor_eval(Vars const&, Map const &, Lambda const&, Context &)
+ lambda_actor_eval(Vars const&, Map const &, Lambda const&, Context const &)
>::type const
- operator()(Vars const& vars, Map const& map, Lambda const& lambda, Context & ctx) const
+ operator()(Vars const& vars, Map const& map, Lambda const& lambda, Context const & ctx) const
         {
             typedef
                 typename proto::detail::uncvref<

Modified: branches/release/boost/phoenix/scope/preprocessed/lambda_30.hpp
==============================================================================
--- branches/release/boost/phoenix/scope/preprocessed/lambda_30.hpp (original)
+++ branches/release/boost/phoenix/scope/preprocessed/lambda_30.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -12,7 +12,7 @@
 {
     struct lambda_eval
     {
- typedef void proto_is_callable_;
+ BOOST_PROTO_CALLABLE()
         template <typename Sig>
         struct result;
         template <
@@ -217,9 +217,9 @@
           , typename Context
>
         typename result<
- lambda_actor_eval(Vars const&, Map const &, Lambda const&, Context &)
+ lambda_actor_eval(Vars const&, Map const &, Lambda const&, Context const &)
>::type const
- operator()(Vars const& vars, Map const& map, Lambda const& lambda, Context & ctx) const
+ operator()(Vars const& vars, Map const& map, Lambda const& lambda, Context const & ctx) const
         {
             typedef
                 typename proto::detail::uncvref<

Modified: branches/release/boost/phoenix/scope/preprocessed/lambda_40.hpp
==============================================================================
--- branches/release/boost/phoenix/scope/preprocessed/lambda_40.hpp (original)
+++ branches/release/boost/phoenix/scope/preprocessed/lambda_40.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -12,7 +12,7 @@
 {
     struct lambda_eval
     {
- typedef void proto_is_callable_;
+ BOOST_PROTO_CALLABLE()
         template <typename Sig>
         struct result;
         template <
@@ -217,9 +217,9 @@
           , typename Context
>
         typename result<
- lambda_actor_eval(Vars const&, Map const &, Lambda const&, Context &)
+ lambda_actor_eval(Vars const&, Map const &, Lambda const&, Context const &)
>::type const
- operator()(Vars const& vars, Map const& map, Lambda const& lambda, Context & ctx) const
+ operator()(Vars const& vars, Map const& map, Lambda const& lambda, Context const & ctx) const
         {
             typedef
                 typename proto::detail::uncvref<

Modified: branches/release/boost/phoenix/scope/preprocessed/lambda_50.hpp
==============================================================================
--- branches/release/boost/phoenix/scope/preprocessed/lambda_50.hpp (original)
+++ branches/release/boost/phoenix/scope/preprocessed/lambda_50.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -12,7 +12,7 @@
 {
     struct lambda_eval
     {
- typedef void proto_is_callable_;
+ BOOST_PROTO_CALLABLE()
         template <typename Sig>
         struct result;
         template <
@@ -217,9 +217,9 @@
           , typename Context
>
         typename result<
- lambda_actor_eval(Vars const&, Map const &, Lambda const&, Context &)
+ lambda_actor_eval(Vars const&, Map const &, Lambda const&, Context const &)
>::type const
- operator()(Vars const& vars, Map const& map, Lambda const& lambda, Context & ctx) const
+ operator()(Vars const& vars, Map const& map, Lambda const& lambda, Context const & ctx) const
         {
             typedef
                 typename proto::detail::uncvref<

Modified: branches/release/boost/phoenix/statement/detail/preprocessed/switch_10.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/detail/preprocessed/switch_10.hpp (original)
+++ branches/release/boost/phoenix/statement/detail/preprocessed/switch_10.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -15,7 +15,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<2>
@@ -38,7 +38,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<2>
@@ -79,7 +79,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<3>
@@ -102,7 +102,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<3>
@@ -143,7 +143,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<4>
@@ -166,7 +166,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<4>
@@ -207,7 +207,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<5>
@@ -230,7 +230,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<5>
@@ -271,7 +271,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<6>
@@ -294,7 +294,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<6>
@@ -335,7 +335,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<7>
@@ -358,7 +358,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<7>
@@ -399,7 +399,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<8>
@@ -422,7 +422,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<8>
@@ -463,7 +463,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<9>
@@ -486,7 +486,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<9>
@@ -527,7 +527,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<10>
@@ -550,7 +550,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<10>

Modified: branches/release/boost/phoenix/statement/detail/preprocessed/switch_20.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/detail/preprocessed/switch_20.hpp (original)
+++ branches/release/boost/phoenix/statement/detail/preprocessed/switch_20.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -15,7 +15,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<2>
@@ -38,7 +38,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<2>
@@ -79,7 +79,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<3>
@@ -102,7 +102,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<3>
@@ -143,7 +143,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<4>
@@ -166,7 +166,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<4>
@@ -207,7 +207,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<5>
@@ -230,7 +230,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<5>
@@ -271,7 +271,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<6>
@@ -294,7 +294,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<6>
@@ -335,7 +335,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<7>
@@ -358,7 +358,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<7>
@@ -399,7 +399,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<8>
@@ -422,7 +422,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<8>
@@ -463,7 +463,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<9>
@@ -486,7 +486,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<9>
@@ -527,7 +527,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<10>
@@ -550,7 +550,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<10>
@@ -591,7 +591,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<11>
@@ -614,7 +614,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<11>
@@ -655,7 +655,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<12>
@@ -678,7 +678,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<12>
@@ -719,7 +719,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<13>
@@ -742,7 +742,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<13>
@@ -783,7 +783,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<14>
@@ -806,7 +806,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<14>
@@ -847,7 +847,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<15>
@@ -870,7 +870,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<15>
@@ -911,7 +911,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<16>
@@ -934,7 +934,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<16>
@@ -975,7 +975,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<17>
@@ -998,7 +998,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<17>
@@ -1039,7 +1039,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<18>
@@ -1062,7 +1062,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<18>
@@ -1103,7 +1103,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<19>
@@ -1126,7 +1126,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<19>
@@ -1167,7 +1167,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<20>
@@ -1190,7 +1190,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<20>

Modified: branches/release/boost/phoenix/statement/detail/preprocessed/switch_30.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/detail/preprocessed/switch_30.hpp (original)
+++ branches/release/boost/phoenix/statement/detail/preprocessed/switch_30.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -15,7 +15,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<2>
@@ -38,7 +38,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<2>
@@ -79,7 +79,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<3>
@@ -102,7 +102,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<3>
@@ -143,7 +143,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<4>
@@ -166,7 +166,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<4>
@@ -207,7 +207,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<5>
@@ -230,7 +230,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<5>
@@ -271,7 +271,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<6>
@@ -294,7 +294,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<6>
@@ -335,7 +335,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<7>
@@ -358,7 +358,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<7>
@@ -399,7 +399,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<8>
@@ -422,7 +422,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<8>
@@ -463,7 +463,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<9>
@@ -486,7 +486,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<9>
@@ -527,7 +527,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<10>
@@ -550,7 +550,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<10>
@@ -591,7 +591,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<11>
@@ -614,7 +614,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<11>
@@ -655,7 +655,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<12>
@@ -678,7 +678,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<12>
@@ -719,7 +719,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<13>
@@ -742,7 +742,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<13>
@@ -783,7 +783,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<14>
@@ -806,7 +806,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<14>
@@ -847,7 +847,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<15>
@@ -870,7 +870,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<15>
@@ -911,7 +911,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<16>
@@ -934,7 +934,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<16>
@@ -975,7 +975,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<17>
@@ -998,7 +998,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<17>
@@ -1039,7 +1039,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<18>
@@ -1062,7 +1062,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<18>
@@ -1103,7 +1103,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<19>
@@ -1126,7 +1126,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<19>
@@ -1167,7 +1167,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<20>
@@ -1190,7 +1190,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<20>
@@ -1231,7 +1231,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<21>
@@ -1254,7 +1254,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<21>
@@ -1295,7 +1295,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<22>
@@ -1318,7 +1318,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<22>
@@ -1359,7 +1359,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<23>
@@ -1382,7 +1382,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<23>
@@ -1423,7 +1423,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<24>
@@ -1446,7 +1446,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<24>
@@ -1487,7 +1487,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<25>
@@ -1510,7 +1510,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<25>
@@ -1551,7 +1551,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<26>
@@ -1574,7 +1574,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<26>
@@ -1615,7 +1615,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<27>
@@ -1638,7 +1638,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<27>
@@ -1679,7 +1679,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<28>
@@ -1702,7 +1702,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<28>
@@ -1743,7 +1743,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<29>
@@ -1766,7 +1766,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<29>
@@ -1807,7 +1807,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<30>
@@ -1830,7 +1830,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<30>

Modified: branches/release/boost/phoenix/statement/detail/preprocessed/switch_40.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/detail/preprocessed/switch_40.hpp (original)
+++ branches/release/boost/phoenix/statement/detail/preprocessed/switch_40.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -15,7 +15,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<2>
@@ -38,7 +38,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<2>
@@ -79,7 +79,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<3>
@@ -102,7 +102,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<3>
@@ -143,7 +143,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<4>
@@ -166,7 +166,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<4>
@@ -207,7 +207,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<5>
@@ -230,7 +230,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<5>
@@ -271,7 +271,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<6>
@@ -294,7 +294,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<6>
@@ -335,7 +335,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<7>
@@ -358,7 +358,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<7>
@@ -399,7 +399,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<8>
@@ -422,7 +422,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<8>
@@ -463,7 +463,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<9>
@@ -486,7 +486,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<9>
@@ -527,7 +527,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<10>
@@ -550,7 +550,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<10>
@@ -591,7 +591,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<11>
@@ -614,7 +614,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<11>
@@ -655,7 +655,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<12>
@@ -678,7 +678,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<12>
@@ -719,7 +719,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<13>
@@ -742,7 +742,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<13>
@@ -783,7 +783,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<14>
@@ -806,7 +806,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<14>
@@ -847,7 +847,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<15>
@@ -870,7 +870,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<15>
@@ -911,7 +911,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<16>
@@ -934,7 +934,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<16>
@@ -975,7 +975,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<17>
@@ -998,7 +998,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<17>
@@ -1039,7 +1039,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<18>
@@ -1062,7 +1062,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<18>
@@ -1103,7 +1103,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<19>
@@ -1126,7 +1126,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<19>
@@ -1167,7 +1167,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<20>
@@ -1190,7 +1190,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<20>
@@ -1231,7 +1231,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<21>
@@ -1254,7 +1254,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<21>
@@ -1295,7 +1295,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<22>
@@ -1318,7 +1318,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<22>
@@ -1359,7 +1359,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<23>
@@ -1382,7 +1382,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<23>
@@ -1423,7 +1423,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<24>
@@ -1446,7 +1446,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<24>
@@ -1487,7 +1487,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<25>
@@ -1510,7 +1510,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<25>
@@ -1551,7 +1551,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<26>
@@ -1574,7 +1574,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<26>
@@ -1615,7 +1615,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<27>
@@ -1638,7 +1638,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<27>
@@ -1679,7 +1679,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<28>
@@ -1702,7 +1702,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<28>
@@ -1743,7 +1743,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<29>
@@ -1766,7 +1766,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<29>
@@ -1807,7 +1807,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<30>
@@ -1830,7 +1830,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<30>
@@ -1871,7 +1871,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<31>
@@ -1894,7 +1894,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<31>
@@ -1935,7 +1935,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<32>
@@ -1958,7 +1958,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<32>
@@ -1999,7 +1999,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<33>
@@ -2022,7 +2022,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<33>
@@ -2063,7 +2063,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<34>
@@ -2086,7 +2086,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<34>
@@ -2127,7 +2127,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<35>
@@ -2150,7 +2150,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<35>
@@ -2191,7 +2191,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<36>
@@ -2214,7 +2214,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<36>
@@ -2255,7 +2255,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<37>
@@ -2278,7 +2278,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<37>
@@ -2319,7 +2319,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<38>
@@ -2342,7 +2342,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<38>
@@ -2383,7 +2383,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<39>
@@ -2406,7 +2406,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<39>
@@ -2447,7 +2447,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<40>
@@ -2470,7 +2470,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<40>

Modified: branches/release/boost/phoenix/statement/detail/preprocessed/switch_50.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/detail/preprocessed/switch_50.hpp (original)
+++ branches/release/boost/phoenix/statement/detail/preprocessed/switch_50.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -15,7 +15,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<2>
@@ -38,7 +38,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<2>
@@ -79,7 +79,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<3>
@@ -102,7 +102,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<3>
@@ -143,7 +143,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<4>
@@ -166,7 +166,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<4>
@@ -207,7 +207,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<5>
@@ -230,7 +230,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<5>
@@ -271,7 +271,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<6>
@@ -294,7 +294,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<6>
@@ -335,7 +335,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<7>
@@ -358,7 +358,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<7>
@@ -399,7 +399,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<8>
@@ -422,7 +422,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<8>
@@ -463,7 +463,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<9>
@@ -486,7 +486,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<9>
@@ -527,7 +527,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<10>
@@ -550,7 +550,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<10>
@@ -591,7 +591,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<11>
@@ -614,7 +614,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<11>
@@ -655,7 +655,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<12>
@@ -678,7 +678,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<12>
@@ -719,7 +719,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<13>
@@ -742,7 +742,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<13>
@@ -783,7 +783,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<14>
@@ -806,7 +806,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<14>
@@ -847,7 +847,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<15>
@@ -870,7 +870,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<15>
@@ -911,7 +911,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<16>
@@ -934,7 +934,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<16>
@@ -975,7 +975,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<17>
@@ -998,7 +998,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<17>
@@ -1039,7 +1039,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<18>
@@ -1062,7 +1062,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<18>
@@ -1103,7 +1103,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<19>
@@ -1126,7 +1126,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<19>
@@ -1167,7 +1167,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<20>
@@ -1190,7 +1190,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<20>
@@ -1231,7 +1231,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<21>
@@ -1254,7 +1254,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<21>
@@ -1295,7 +1295,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<22>
@@ -1318,7 +1318,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<22>
@@ -1359,7 +1359,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<23>
@@ -1382,7 +1382,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<23>
@@ -1423,7 +1423,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<24>
@@ -1446,7 +1446,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<24>
@@ -1487,7 +1487,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<25>
@@ -1510,7 +1510,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<25>
@@ -1551,7 +1551,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<26>
@@ -1574,7 +1574,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<26>
@@ -1615,7 +1615,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<27>
@@ -1638,7 +1638,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<27>
@@ -1679,7 +1679,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<28>
@@ -1702,7 +1702,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<28>
@@ -1743,7 +1743,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<29>
@@ -1766,7 +1766,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<29>
@@ -1807,7 +1807,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<30>
@@ -1830,7 +1830,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<30>
@@ -1871,7 +1871,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<31>
@@ -1894,7 +1894,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<31>
@@ -1935,7 +1935,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<32>
@@ -1958,7 +1958,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<32>
@@ -1999,7 +1999,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<33>
@@ -2022,7 +2022,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<33>
@@ -2063,7 +2063,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<34>
@@ -2086,7 +2086,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<34>
@@ -2127,7 +2127,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<35>
@@ -2150,7 +2150,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<35>
@@ -2191,7 +2191,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<36>
@@ -2214,7 +2214,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<36>
@@ -2255,7 +2255,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<37>
@@ -2278,7 +2278,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<37>
@@ -2319,7 +2319,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<38>
@@ -2342,7 +2342,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<38>
@@ -2383,7 +2383,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<39>
@@ -2406,7 +2406,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<39>
@@ -2447,7 +2447,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<40>
@@ -2470,7 +2470,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<40>
@@ -2511,7 +2511,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<41>
@@ -2534,7 +2534,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<41>
@@ -2575,7 +2575,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<42>
@@ -2598,7 +2598,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<42>
@@ -2639,7 +2639,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<43>
@@ -2662,7 +2662,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<43>
@@ -2703,7 +2703,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<44>
@@ -2726,7 +2726,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<44>
@@ -2767,7 +2767,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<45>
@@ -2790,7 +2790,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<45>
@@ -2831,7 +2831,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<46>
@@ -2854,7 +2854,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<46>
@@ -2895,7 +2895,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<47>
@@ -2918,7 +2918,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<47>
@@ -2959,7 +2959,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<48>
@@ -2982,7 +2982,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<48>
@@ -3023,7 +3023,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<49>
@@ -3046,7 +3046,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<49>
@@ -3087,7 +3087,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<50>
@@ -3110,7 +3110,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<50>

Modified: branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_10.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_10.hpp (original)
+++ branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_10.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -20,7 +20,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0, Context const & ctx) const
         {
             try
             {
@@ -36,7 +36,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0, Context const & ctx) const
         {
             try
             {
@@ -67,7 +67,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context const & ctx) const
         {
             try
             {
@@ -83,7 +83,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context const & ctx) const
         {
             try
             {
@@ -114,7 +114,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context const & ctx) const
         {
             try
             {
@@ -130,7 +130,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context const & ctx) const
         {
             try
             {
@@ -161,7 +161,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context const & ctx) const
         {
             try
             {
@@ -177,7 +177,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context const & ctx) const
         {
             try
             {
@@ -208,7 +208,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context const & ctx) const
         {
             try
             {
@@ -224,7 +224,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context const & ctx) const
         {
             try
             {
@@ -255,7 +255,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context const & ctx) const
         {
             try
             {
@@ -271,7 +271,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context const & ctx) const
         {
             try
             {
@@ -302,7 +302,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context const & ctx) const
         {
             try
             {
@@ -318,7 +318,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context const & ctx) const
         {
             try
             {
@@ -349,7 +349,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context const & ctx) const
         {
             try
             {
@@ -365,7 +365,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context const & ctx) const
         {
             try
             {
@@ -396,7 +396,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context const & ctx) const
         {
             try
             {
@@ -412,7 +412,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context const & ctx) const
         {
             try
             {
@@ -443,7 +443,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context const & ctx) const
         {
             try
             {
@@ -459,7 +459,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context const & ctx) const
         {
             try
             {

Modified: branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_20.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_20.hpp (original)
+++ branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_20.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -20,7 +20,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0, Context const & ctx) const
         {
             try
             {
@@ -36,7 +36,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0, Context const & ctx) const
         {
             try
             {
@@ -67,7 +67,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context const & ctx) const
         {
             try
             {
@@ -83,7 +83,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context const & ctx) const
         {
             try
             {
@@ -114,7 +114,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context const & ctx) const
         {
             try
             {
@@ -130,7 +130,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context const & ctx) const
         {
             try
             {
@@ -161,7 +161,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context const & ctx) const
         {
             try
             {
@@ -177,7 +177,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context const & ctx) const
         {
             try
             {
@@ -208,7 +208,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context const & ctx) const
         {
             try
             {
@@ -224,7 +224,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context const & ctx) const
         {
             try
             {
@@ -255,7 +255,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context const & ctx) const
         {
             try
             {
@@ -271,7 +271,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context const & ctx) const
         {
             try
             {
@@ -302,7 +302,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context const & ctx) const
         {
             try
             {
@@ -318,7 +318,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context const & ctx) const
         {
             try
             {
@@ -349,7 +349,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context const & ctx) const
         {
             try
             {
@@ -365,7 +365,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context const & ctx) const
         {
             try
             {
@@ -396,7 +396,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context const & ctx) const
         {
             try
             {
@@ -412,7 +412,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context const & ctx) const
         {
             try
             {
@@ -443,7 +443,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context const & ctx) const
         {
             try
             {
@@ -459,7 +459,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context const & ctx) const
         {
             try
             {
@@ -490,7 +490,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context const & ctx) const
         {
             try
             {
@@ -506,7 +506,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context const & ctx) const
         {
             try
             {
@@ -537,7 +537,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context const & ctx) const
         {
             try
             {
@@ -553,7 +553,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context const & ctx) const
         {
             try
             {
@@ -584,7 +584,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context const & ctx) const
         {
             try
             {
@@ -600,7 +600,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context const & ctx) const
         {
             try
             {
@@ -631,7 +631,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context const & ctx) const
         {
             try
             {
@@ -647,7 +647,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context const & ctx) const
         {
             try
             {
@@ -678,7 +678,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context const & ctx) const
         {
             try
             {
@@ -694,7 +694,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context const & ctx) const
         {
             try
             {
@@ -725,7 +725,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context const & ctx) const
         {
             try
             {
@@ -741,7 +741,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context const & ctx) const
         {
             try
             {
@@ -772,7 +772,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context const & ctx) const
         {
             try
             {
@@ -788,7 +788,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context const & ctx) const
         {
             try
             {
@@ -819,7 +819,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context const & ctx) const
         {
             try
             {
@@ -835,7 +835,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context const & ctx) const
         {
             try
             {
@@ -866,7 +866,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context const & ctx) const
         {
             try
             {
@@ -882,7 +882,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context const & ctx) const
         {
             try
             {
@@ -913,7 +913,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context const & ctx) const
         {
             try
             {
@@ -929,7 +929,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context const & ctx) const
         {
             try
             {

Modified: branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_30.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_30.hpp (original)
+++ branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_30.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -20,7 +20,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0, Context const & ctx) const
         {
             try
             {
@@ -36,7 +36,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0, Context const & ctx) const
         {
             try
             {
@@ -67,7 +67,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context const & ctx) const
         {
             try
             {
@@ -83,7 +83,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context const & ctx) const
         {
             try
             {
@@ -114,7 +114,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context const & ctx) const
         {
             try
             {
@@ -130,7 +130,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context const & ctx) const
         {
             try
             {
@@ -161,7 +161,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context const & ctx) const
         {
             try
             {
@@ -177,7 +177,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context const & ctx) const
         {
             try
             {
@@ -208,7 +208,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context const & ctx) const
         {
             try
             {
@@ -224,7 +224,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context const & ctx) const
         {
             try
             {
@@ -255,7 +255,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context const & ctx) const
         {
             try
             {
@@ -271,7 +271,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context const & ctx) const
         {
             try
             {
@@ -302,7 +302,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context const & ctx) const
         {
             try
             {
@@ -318,7 +318,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context const & ctx) const
         {
             try
             {
@@ -349,7 +349,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context const & ctx) const
         {
             try
             {
@@ -365,7 +365,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context const & ctx) const
         {
             try
             {
@@ -396,7 +396,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context const & ctx) const
         {
             try
             {
@@ -412,7 +412,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context const & ctx) const
         {
             try
             {
@@ -443,7 +443,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context const & ctx) const
         {
             try
             {
@@ -459,7 +459,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context const & ctx) const
         {
             try
             {
@@ -490,7 +490,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context const & ctx) const
         {
             try
             {
@@ -506,7 +506,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context const & ctx) const
         {
             try
             {
@@ -537,7 +537,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context const & ctx) const
         {
             try
             {
@@ -553,7 +553,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context const & ctx) const
         {
             try
             {
@@ -584,7 +584,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context const & ctx) const
         {
             try
             {
@@ -600,7 +600,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context const & ctx) const
         {
             try
             {
@@ -631,7 +631,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context const & ctx) const
         {
             try
             {
@@ -647,7 +647,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context const & ctx) const
         {
             try
             {
@@ -678,7 +678,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context const & ctx) const
         {
             try
             {
@@ -694,7 +694,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context const & ctx) const
         {
             try
             {
@@ -725,7 +725,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context const & ctx) const
         {
             try
             {
@@ -741,7 +741,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context const & ctx) const
         {
             try
             {
@@ -772,7 +772,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context const & ctx) const
         {
             try
             {
@@ -788,7 +788,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context const & ctx) const
         {
             try
             {
@@ -819,7 +819,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context const & ctx) const
         {
             try
             {
@@ -835,7 +835,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context const & ctx) const
         {
             try
             {
@@ -866,7 +866,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context const & ctx) const
         {
             try
             {
@@ -882,7 +882,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context const & ctx) const
         {
             try
             {
@@ -913,7 +913,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context const & ctx) const
         {
             try
             {
@@ -929,7 +929,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context const & ctx) const
         {
             try
             {
@@ -960,7 +960,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20, Context const & ctx) const
         {
             try
             {
@@ -976,7 +976,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20, Context const & ctx) const
         {
             try
             {
@@ -1007,7 +1007,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21, Context const & ctx) const
         {
             try
             {
@@ -1023,7 +1023,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21, Context const & ctx) const
         {
             try
             {
@@ -1054,7 +1054,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22, Context const & ctx) const
         {
             try
             {
@@ -1070,7 +1070,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22, Context const & ctx) const
         {
             try
             {
@@ -1101,7 +1101,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23, Context const & ctx) const
         {
             try
             {
@@ -1117,7 +1117,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23, Context const & ctx) const
         {
             try
             {
@@ -1148,7 +1148,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24, Context const & ctx) const
         {
             try
             {
@@ -1164,7 +1164,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24, Context const & ctx) const
         {
             try
             {
@@ -1195,7 +1195,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25, Context const & ctx) const
         {
             try
             {
@@ -1211,7 +1211,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25, Context const & ctx) const
         {
             try
             {
@@ -1242,7 +1242,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26, Context const & ctx) const
         {
             try
             {
@@ -1258,7 +1258,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26, Context const & ctx) const
         {
             try
             {
@@ -1289,7 +1289,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27, Context const & ctx) const
         {
             try
             {
@@ -1305,7 +1305,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27, Context const & ctx) const
         {
             try
             {
@@ -1336,7 +1336,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28, Context const & ctx) const
         {
             try
             {
@@ -1352,7 +1352,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28, Context const & ctx) const
         {
             try
             {
@@ -1383,7 +1383,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29, Context const & ctx) const
         {
             try
             {
@@ -1399,7 +1399,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29, Context const & ctx) const
         {
             try
             {

Modified: branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_40.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_40.hpp (original)
+++ branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_40.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -20,7 +20,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0, Context const & ctx) const
         {
             try
             {
@@ -36,7 +36,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0, Context const & ctx) const
         {
             try
             {
@@ -67,7 +67,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context const & ctx) const
         {
             try
             {
@@ -83,7 +83,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context const & ctx) const
         {
             try
             {
@@ -114,7 +114,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context const & ctx) const
         {
             try
             {
@@ -130,7 +130,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context const & ctx) const
         {
             try
             {
@@ -161,7 +161,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context const & ctx) const
         {
             try
             {
@@ -177,7 +177,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context const & ctx) const
         {
             try
             {
@@ -208,7 +208,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context const & ctx) const
         {
             try
             {
@@ -224,7 +224,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context const & ctx) const
         {
             try
             {
@@ -255,7 +255,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context const & ctx) const
         {
             try
             {
@@ -271,7 +271,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context const & ctx) const
         {
             try
             {
@@ -302,7 +302,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context const & ctx) const
         {
             try
             {
@@ -318,7 +318,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context const & ctx) const
         {
             try
             {
@@ -349,7 +349,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context const & ctx) const
         {
             try
             {
@@ -365,7 +365,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context const & ctx) const
         {
             try
             {
@@ -396,7 +396,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context const & ctx) const
         {
             try
             {
@@ -412,7 +412,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context const & ctx) const
         {
             try
             {
@@ -443,7 +443,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context const & ctx) const
         {
             try
             {
@@ -459,7 +459,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context const & ctx) const
         {
             try
             {
@@ -490,7 +490,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context const & ctx) const
         {
             try
             {
@@ -506,7 +506,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context const & ctx) const
         {
             try
             {
@@ -537,7 +537,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context const & ctx) const
         {
             try
             {
@@ -553,7 +553,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context const & ctx) const
         {
             try
             {
@@ -584,7 +584,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context const & ctx) const
         {
             try
             {
@@ -600,7 +600,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context const & ctx) const
         {
             try
             {
@@ -631,7 +631,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context const & ctx) const
         {
             try
             {
@@ -647,7 +647,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context const & ctx) const
         {
             try
             {
@@ -678,7 +678,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context const & ctx) const
         {
             try
             {
@@ -694,7 +694,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context const & ctx) const
         {
             try
             {
@@ -725,7 +725,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context const & ctx) const
         {
             try
             {
@@ -741,7 +741,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context const & ctx) const
         {
             try
             {
@@ -772,7 +772,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context const & ctx) const
         {
             try
             {
@@ -788,7 +788,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context const & ctx) const
         {
             try
             {
@@ -819,7 +819,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context const & ctx) const
         {
             try
             {
@@ -835,7 +835,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context const & ctx) const
         {
             try
             {
@@ -866,7 +866,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context const & ctx) const
         {
             try
             {
@@ -882,7 +882,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context const & ctx) const
         {
             try
             {
@@ -913,7 +913,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context const & ctx) const
         {
             try
             {
@@ -929,7 +929,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context const & ctx) const
         {
             try
             {
@@ -960,7 +960,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20, Context const & ctx) const
         {
             try
             {
@@ -976,7 +976,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20, Context const & ctx) const
         {
             try
             {
@@ -1007,7 +1007,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21, Context const & ctx) const
         {
             try
             {
@@ -1023,7 +1023,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21, Context const & ctx) const
         {
             try
             {
@@ -1054,7 +1054,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22, Context const & ctx) const
         {
             try
             {
@@ -1070,7 +1070,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22, Context const & ctx) const
         {
             try
             {
@@ -1101,7 +1101,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23, Context const & ctx) const
         {
             try
             {
@@ -1117,7 +1117,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23, Context const & ctx) const
         {
             try
             {
@@ -1148,7 +1148,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24, Context const & ctx) const
         {
             try
             {
@@ -1164,7 +1164,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24, Context const & ctx) const
         {
             try
             {
@@ -1195,7 +1195,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25, Context const & ctx) const
         {
             try
             {
@@ -1211,7 +1211,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25, Context const & ctx) const
         {
             try
             {
@@ -1242,7 +1242,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26, Context const & ctx) const
         {
             try
             {
@@ -1258,7 +1258,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26, Context const & ctx) const
         {
             try
             {
@@ -1289,7 +1289,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27, Context const & ctx) const
         {
             try
             {
@@ -1305,7 +1305,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27, Context const & ctx) const
         {
             try
             {
@@ -1336,7 +1336,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28, Context const & ctx) const
         {
             try
             {
@@ -1352,7 +1352,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28, Context const & ctx) const
         {
             try
             {
@@ -1383,7 +1383,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29, Context const & ctx) const
         {
             try
             {
@@ -1399,7 +1399,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29, Context const & ctx) const
         {
             try
             {
@@ -1430,7 +1430,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30, Context const & ctx) const
         {
             try
             {
@@ -1446,7 +1446,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30, Context const & ctx) const
         {
             try
             {
@@ -1477,7 +1477,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31, Context const & ctx) const
         {
             try
             {
@@ -1493,7 +1493,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31, Context const & ctx) const
         {
             try
             {
@@ -1524,7 +1524,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32, Context const & ctx) const
         {
             try
             {
@@ -1540,7 +1540,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32, Context const & ctx) const
         {
             try
             {
@@ -1571,7 +1571,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33, Context const & ctx) const
         {
             try
             {
@@ -1587,7 +1587,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33, Context const & ctx) const
         {
             try
             {
@@ -1618,7 +1618,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34, Context const & ctx) const
         {
             try
             {
@@ -1634,7 +1634,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34, Context const & ctx) const
         {
             try
             {
@@ -1665,7 +1665,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35, Context const & ctx) const
         {
             try
             {
@@ -1681,7 +1681,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35, Context const & ctx) const
         {
             try
             {
@@ -1712,7 +1712,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36, Context const & ctx) const
         {
             try
             {
@@ -1728,7 +1728,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36, Context const & ctx) const
         {
             try
             {
@@ -1759,7 +1759,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37, Context const & ctx) const
         {
             try
             {
@@ -1775,7 +1775,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37, Context const & ctx) const
         {
             try
             {
@@ -1806,7 +1806,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38, Context const & ctx) const
         {
             try
             {
@@ -1822,7 +1822,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38, Context const & ctx) const
         {
             try
             {
@@ -1853,7 +1853,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39, Context const & ctx) const
         {
             try
             {
@@ -1869,7 +1869,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39, Context const & ctx) const
         {
             try
             {

Modified: branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_50.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_50.hpp (original)
+++ branches/release/boost/phoenix/statement/detail/preprocessed/try_catch_eval_50.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -20,7 +20,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0, Context const & ctx) const
         {
             try
             {
@@ -36,7 +36,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0, Context const & ctx) const
         {
             try
             {
@@ -67,7 +67,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context const & ctx) const
         {
             try
             {
@@ -83,7 +83,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1, Context const & ctx) const
         {
             try
             {
@@ -114,7 +114,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context const & ctx) const
         {
             try
             {
@@ -130,7 +130,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2, Context const & ctx) const
         {
             try
             {
@@ -161,7 +161,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context const & ctx) const
         {
             try
             {
@@ -177,7 +177,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3, Context const & ctx) const
         {
             try
             {
@@ -208,7 +208,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context const & ctx) const
         {
             try
             {
@@ -224,7 +224,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4, Context const & ctx) const
         {
             try
             {
@@ -255,7 +255,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context const & ctx) const
         {
             try
             {
@@ -271,7 +271,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5, Context const & ctx) const
         {
             try
             {
@@ -302,7 +302,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context const & ctx) const
         {
             try
             {
@@ -318,7 +318,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6, Context const & ctx) const
         {
             try
             {
@@ -349,7 +349,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context const & ctx) const
         {
             try
             {
@@ -365,7 +365,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7, Context const & ctx) const
         {
             try
             {
@@ -396,7 +396,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context const & ctx) const
         {
             try
             {
@@ -412,7 +412,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8, Context const & ctx) const
         {
             try
             {
@@ -443,7 +443,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context const & ctx) const
         {
             try
             {
@@ -459,7 +459,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9, Context const & ctx) const
         {
             try
             {
@@ -490,7 +490,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context const & ctx) const
         {
             try
             {
@@ -506,7 +506,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10, Context const & ctx) const
         {
             try
             {
@@ -537,7 +537,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context const & ctx) const
         {
             try
             {
@@ -553,7 +553,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11, Context const & ctx) const
         {
             try
             {
@@ -584,7 +584,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context const & ctx) const
         {
             try
             {
@@ -600,7 +600,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12, Context const & ctx) const
         {
             try
             {
@@ -631,7 +631,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context const & ctx) const
         {
             try
             {
@@ -647,7 +647,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13, Context const & ctx) const
         {
             try
             {
@@ -678,7 +678,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context const & ctx) const
         {
             try
             {
@@ -694,7 +694,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14, Context const & ctx) const
         {
             try
             {
@@ -725,7 +725,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context const & ctx) const
         {
             try
             {
@@ -741,7 +741,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15, Context const & ctx) const
         {
             try
             {
@@ -772,7 +772,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context const & ctx) const
         {
             try
             {
@@ -788,7 +788,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16, Context const & ctx) const
         {
             try
             {
@@ -819,7 +819,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context const & ctx) const
         {
             try
             {
@@ -835,7 +835,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17, Context const & ctx) const
         {
             try
             {
@@ -866,7 +866,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context const & ctx) const
         {
             try
             {
@@ -882,7 +882,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18, Context const & ctx) const
         {
             try
             {
@@ -913,7 +913,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context const & ctx) const
         {
             try
             {
@@ -929,7 +929,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19, Context const & ctx) const
         {
             try
             {
@@ -960,7 +960,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20, Context const & ctx) const
         {
             try
             {
@@ -976,7 +976,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20, Context const & ctx) const
         {
             try
             {
@@ -1007,7 +1007,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21, Context const & ctx) const
         {
             try
             {
@@ -1023,7 +1023,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21, Context const & ctx) const
         {
             try
             {
@@ -1054,7 +1054,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22, Context const & ctx) const
         {
             try
             {
@@ -1070,7 +1070,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22, Context const & ctx) const
         {
             try
             {
@@ -1101,7 +1101,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23, Context const & ctx) const
         {
             try
             {
@@ -1117,7 +1117,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23, Context const & ctx) const
         {
             try
             {
@@ -1148,7 +1148,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24, Context const & ctx) const
         {
             try
             {
@@ -1164,7 +1164,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24, Context const & ctx) const
         {
             try
             {
@@ -1195,7 +1195,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25, Context const & ctx) const
         {
             try
             {
@@ -1211,7 +1211,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25, Context const & ctx) const
         {
             try
             {
@@ -1242,7 +1242,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26, Context const & ctx) const
         {
             try
             {
@@ -1258,7 +1258,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26, Context const & ctx) const
         {
             try
             {
@@ -1289,7 +1289,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27, Context const & ctx) const
         {
             try
             {
@@ -1305,7 +1305,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27, Context const & ctx) const
         {
             try
             {
@@ -1336,7 +1336,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28, Context const & ctx) const
         {
             try
             {
@@ -1352,7 +1352,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28, Context const & ctx) const
         {
             try
             {
@@ -1383,7 +1383,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29, Context const & ctx) const
         {
             try
             {
@@ -1399,7 +1399,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29, Context const & ctx) const
         {
             try
             {
@@ -1430,7 +1430,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30, Context const & ctx) const
         {
             try
             {
@@ -1446,7 +1446,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30, Context const & ctx) const
         {
             try
             {
@@ -1477,7 +1477,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31, Context const & ctx) const
         {
             try
             {
@@ -1493,7 +1493,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31, Context const & ctx) const
         {
             try
             {
@@ -1524,7 +1524,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32, Context const & ctx) const
         {
             try
             {
@@ -1540,7 +1540,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32, Context const & ctx) const
         {
             try
             {
@@ -1571,7 +1571,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33, Context const & ctx) const
         {
             try
             {
@@ -1587,7 +1587,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33, Context const & ctx) const
         {
             try
             {
@@ -1618,7 +1618,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34, Context const & ctx) const
         {
             try
             {
@@ -1634,7 +1634,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34, Context const & ctx) const
         {
             try
             {
@@ -1665,7 +1665,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35, Context const & ctx) const
         {
             try
             {
@@ -1681,7 +1681,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35, Context const & ctx) const
         {
             try
             {
@@ -1712,7 +1712,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36, Context const & ctx) const
         {
             try
             {
@@ -1728,7 +1728,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36, Context const & ctx) const
         {
             try
             {
@@ -1759,7 +1759,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37, Context const & ctx) const
         {
             try
             {
@@ -1775,7 +1775,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37, Context const & ctx) const
         {
             try
             {
@@ -1806,7 +1806,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38, Context const & ctx) const
         {
             try
             {
@@ -1822,7 +1822,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38, Context const & ctx) const
         {
             try
             {
@@ -1853,7 +1853,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39, Context const & ctx) const
         {
             try
             {
@@ -1869,7 +1869,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39, Context const & ctx) const
         {
             try
             {
@@ -1900,7 +1900,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40, Context const & ctx) const
         {
             try
             {
@@ -1916,7 +1916,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40, Context const & ctx) const
         {
             try
             {
@@ -1947,7 +1947,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41, Context const & ctx) const
         {
             try
             {
@@ -1963,7 +1963,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41, Context const & ctx) const
         {
             try
             {
@@ -1994,7 +1994,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42, Context const & ctx) const
         {
             try
             {
@@ -2010,7 +2010,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42, Context const & ctx) const
         {
             try
             {
@@ -2041,7 +2041,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43, Context const & ctx) const
         {
             try
             {
@@ -2057,7 +2057,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43, Context const & ctx) const
         {
             try
             {
@@ -2088,7 +2088,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44, Context const & ctx) const
         {
             try
             {
@@ -2104,7 +2104,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44, Context const & ctx) const
         {
             try
             {
@@ -2135,7 +2135,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45, Context const & ctx) const
         {
             try
             {
@@ -2151,7 +2151,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45, Context const & ctx) const
         {
             try
             {
@@ -2182,7 +2182,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46, Context const & ctx) const
         {
             try
             {
@@ -2198,7 +2198,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46, Context const & ctx) const
         {
             try
             {
@@ -2229,7 +2229,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47, Context const & ctx) const
         {
             try
             {
@@ -2245,7 +2245,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47, Context const & ctx) const
         {
             try
             {
@@ -2276,7 +2276,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48, Context const & ctx) const
         {
             try
             {
@@ -2292,7 +2292,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48, Context const & ctx) const
         {
             try
             {
@@ -2323,7 +2323,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48 , A49 const& a49, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48 , A49 const& a49, Context const & ctx) const
         {
             try
             {
@@ -2339,7 +2339,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48 , A49 const& a49, Context & ctx) const
+ operator()(Try const & try_, A0 const& a0 , A1 const& a1 , A2 const& a2 , A3 const& a3 , A4 const& a4 , A5 const& a5 , A6 const& a6 , A7 const& a7 , A8 const& a8 , A9 const& a9 , A10 const& a10 , A11 const& a11 , A12 const& a12 , A13 const& a13 , A14 const& a14 , A15 const& a15 , A16 const& a16 , A17 const& a17 , A18 const& a18 , A19 const& a19 , A20 const& a20 , A21 const& a21 , A22 const& a22 , A23 const& a23 , A24 const& a24 , A25 const& a25 , A26 const& a26 , A27 const& a27 , A28 const& a28 , A29 const& a29 , A30 const& a30 , A31 const& a31 , A32 const& a32 , A33 const& a33 , A34 const& a34 , A35 const& a35 , A36 const& a36 , A37 const& a37 , A38 const& a38 , A39 const& a39 , A40 const& a40 , A41 const& a41 , A42 const& a42 , A43 const& a43 , A44 const& a44 , A45 const& a45 , A46 const& a46 , A47 const& a47 , A48 const& a48 , A49 const& a49, Context const & ctx) const
         {
             try
             {

Modified: branches/release/boost/phoenix/statement/detail/switch.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/detail/switch.hpp (original)
+++ branches/release/boost/phoenix/statement/detail/switch.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -85,7 +85,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<BOOST_PHOENIX_ITERATION>
@@ -117,7 +117,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<BOOST_PHOENIX_ITERATION>

Modified: branches/release/boost/phoenix/statement/detail/try_catch_eval.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/detail/try_catch_eval.hpp (original)
+++ branches/release/boost/phoenix/statement/detail/try_catch_eval.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -71,7 +71,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, BOOST_PHOENIX_A_const_ref_a, Context & ctx) const
+ operator()(Try const & try_, BOOST_PHOENIX_A_const_ref_a, Context const & ctx) const
         {
             try
             {
@@ -88,7 +88,7 @@
>
           , result_type
>::type
- operator()(Try const & try_, BOOST_PHOENIX_A_const_ref_a, Context & ctx) const
+ operator()(Try const & try_, BOOST_PHOENIX_A_const_ref_a, Context const & ctx) const
         {
             try
             {

Modified: branches/release/boost/phoenix/statement/do_while.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/do_while.hpp (original)
+++ branches/release/boost/phoenix/statement/do_while.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -27,7 +27,7 @@
 
         template <typename Cond, typename Do, typename Context>
         result_type
- operator()(Cond const& cond, Do const& do_, Context & ctx) const
+ operator()(Cond const& cond, Do const& do_, Context const & ctx) const
         {
             do
                 boost::phoenix::eval(do_, ctx);

Modified: branches/release/boost/phoenix/statement/for.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/for.hpp (original)
+++ branches/release/boost/phoenix/statement/for.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -40,7 +40,7 @@
           , Cond const& cond
           , Step const& step
           , Do const& do_
- , Context & ctx
+ , Context const & ctx
         ) const
         {
             for(boost::phoenix::eval(init, ctx); boost::phoenix::eval(cond, ctx); boost::phoenix::eval(step, ctx))

Modified: branches/release/boost/phoenix/statement/if.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/if.hpp (original)
+++ branches/release/boost/phoenix/statement/if.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -56,7 +56,7 @@
         
         template<typename Cond, typename Then, typename Context>
         result_type
- operator()(Cond const & cond, Then const & then, Context & ctx) const
+ operator()(Cond const & cond, Then const & then, Context const & ctx) const
         {
             if(boost::phoenix::eval(cond, ctx))
                 boost::phoenix::eval(then, ctx);

Modified: branches/release/boost/phoenix/statement/switch.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/switch.hpp (original)
+++ branches/release/boost/phoenix/statement/switch.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -124,13 +124,13 @@
         
         template <typename Context>
         result_type
- operator()(Context &) const
+ operator()(Context const &) const
         {
         }
 
         template <typename Cond, typename Cases, typename Context>
         result_type
- operator()(Cond const & cond, Cases const & cases, Context & ctx) const
+ operator()(Cond const & cond, Cases const & cases, Context const & ctx) const
         {
             this->evaluate(
                     ctx
@@ -145,7 +145,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<1>
@@ -171,7 +171,7 @@
             template <typename Context, typename Cond, typename Cases>
             result_type
             evaluate(
- Context & ctx
+ Context const & ctx
               , Cond const & cond
               , Cases const & cases
               , mpl::int_<1>

Modified: branches/release/boost/phoenix/statement/throw.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/throw.hpp (original)
+++ branches/release/boost/phoenix/statement/throw.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -50,7 +50,7 @@
 
         template <typename ThrowExpr, typename Context>
         result_type
- operator()(ThrowExpr const& throw_expr, Context & ctx) const
+ operator()(ThrowExpr const& throw_expr, Context const & ctx) const
         {
             throw boost::phoenix::eval(throw_expr, ctx);
         }

Modified: branches/release/boost/phoenix/statement/try_catch.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/try_catch.hpp (original)
+++ branches/release/boost/phoenix/statement/try_catch.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -17,6 +17,11 @@
 #include <boost/phoenix/core/is_nullary.hpp>
 #include <boost/proto/functional/fusion/pop_front.hpp>
 
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4355) // 'this' : used in base member initializer list
+#endif
+
 namespace boost { namespace phoenix
 {
     template <typename Expr>
@@ -101,6 +106,10 @@
     {
         typedef void result_type;
 
+ template <typename Try, typename Context>
+ void operator()(Try const &, Context const &) const
+ {}
+
         // bring in the operator overloads
         #include <boost/phoenix/statement/detail/try_catch_eval.hpp>
     };
@@ -358,4 +367,8 @@
 #endif
 }}
 
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
 #endif

Modified: branches/release/boost/phoenix/statement/while.hpp
==============================================================================
--- branches/release/boost/phoenix/statement/while.hpp (original)
+++ branches/release/boost/phoenix/statement/while.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -27,7 +27,7 @@
 
         template <typename Cond, typename Do, typename Context>
         result_type
- operator()(Cond const& cond, Do const& do_, Context & ctx) const
+ operator()(Cond const& cond, Do const& do_, Context const & ctx) const
         {
             while(boost::phoenix::eval(cond, ctx))
             {

Modified: branches/release/boost/phoenix/stl/container/container.hpp
==============================================================================
--- branches/release/boost/phoenix/stl/container/container.hpp (original)
+++ branches/release/boost/phoenix/stl/container/container.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -349,18 +349,40 @@
             {};
 
             template <typename C, typename Arg1>
- typename result_of::erase<C, Arg1>::type
+ typename stl_impl::disable_if_is_void<
+ typename result_of::erase<C, Arg1>::type
+ >::type
             operator()(C& c, Arg1 arg1) const
             {
                 return c.erase(arg1);
             }
 
+ template <typename C, typename Arg1>
+ typename stl_impl::enable_if_is_void<
+ typename result_of::erase<C, Arg1>::type
+ >::type
+ operator()(C& c, Arg1 arg1) const
+ {
+ c.erase(arg1);
+ }
+
             template <typename C, typename Arg1, typename Arg2>
- typename result_of::erase<C, Arg1, Arg2>::type
+ typename stl_impl::disable_if_is_void<
+ typename result_of::erase<C, Arg1, Arg2>::type
+ >::type
             operator()(C& c, Arg1 arg1, Arg2 arg2) const
             {
                 return c.erase(arg1, arg2);
             }
+
+ template <typename C, typename Arg1, typename Arg2>
+ typename stl_impl::enable_if_is_void<
+ typename result_of::erase<C, Arg1, Arg2>::type
+ >::type
+ operator()(C& c, Arg1 arg1, Arg2 arg2) const
+ {
+ c.erase(arg1, arg2);
+ }
         };
 
         struct front
@@ -512,19 +534,42 @@
             }
 
             template <typename C, typename Arg1, typename Arg2>
- typename result<insert(C&, Arg1, Arg2)>::type
+ typename stl_impl::disable_if_is_void<
+ typename result<insert(C&, Arg1, Arg2)>::type
+ >::type
             operator()(C& c, Arg1 arg1, Arg2 arg2) const
             {
                 return c.insert(arg1, arg2);
             }
 
+ template <typename C, typename Arg1, typename Arg2>
+ typename stl_impl::enable_if_is_void<
+ typename result<insert(C&, Arg1, Arg2)>::type
+ >::type
+ operator()(C& c, Arg1 arg1, Arg2 arg2) const
+ {
+ c.insert(arg1, arg2);
+ }
+
             template <typename C, typename Arg1, typename Arg2, typename Arg3>
- typename result<insert(C&, Arg1, Arg2, Arg3)>::type
+ typename stl_impl::disable_if_is_void<
+ typename result<insert(C&, Arg1, Arg2, Arg3)>::type
+ >::type
             operator()(
                 C& c, Arg1 arg1, Arg2 arg2, Arg3 arg3) const
             {
                 return c.insert(arg1, arg2, arg3);
             }
+
+ template <typename C, typename Arg1, typename Arg2, typename Arg3>
+ typename stl_impl::enable_if_is_void<
+ typename result<insert(C&, Arg1, Arg2, Arg3)>::type
+ >::type
+ operator()(
+ C& c, Arg1 arg1, Arg2 arg2, Arg3 arg3) const
+ {
+ c.insert(arg1, arg2, arg3);
+ }
         };
 
         namespace result_of
@@ -666,7 +711,7 @@
             template <typename C, typename Arg>
             void operator()(C& c, Arg const& count) const
             {
- return c.reserve(count);
+ c.reserve(count);
             }
         };
 
@@ -677,13 +722,13 @@
             template <typename C, typename Arg1>
             void operator()(C& c, Arg1 const& arg1) const
             {
- return c.resize(arg1);
+ c.resize(arg1);
             }
 
             template <typename C, typename Arg1, typename Arg2>
             void operator()(C& c, Arg1 const& arg1, Arg2 const& arg2) const
             {
- return c.resize(arg1, arg2);
+ c.resize(arg1, arg2);
             }
         };
 

Modified: branches/release/boost/phoenix/stl/container/detail/container.hpp
==============================================================================
--- branches/release/boost/phoenix/stl/container/detail/container.hpp (original)
+++ branches/release/boost/phoenix/stl/container/detail/container.hpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -124,6 +124,26 @@
 
         template <typename C>
         two has_mapped_type(...);
+
+ template<typename T>
+ struct enable_if_is_void
+ {};
+
+ template<>
+ struct enable_if_is_void<void>
+ {
+ typedef void type;
+ };
+
+ template<typename T>
+ struct disable_if_is_void
+ {
+ typedef T type;
+ };
+
+ template<>
+ struct disable_if_is_void<void>
+ {};
     }
 
     template <typename C>

Modified: branches/release/libs/phoenix/preprocess/wave.cfg
==============================================================================
--- branches/release/libs/phoenix/preprocess/wave.cfg (original)
+++ branches/release/libs/phoenix/preprocess/wave.cfg 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -15,6 +15,16 @@
 -S/usr/include
 --variadics
 -NBOOST_FUSION_ADAPT_TPL_STRUCT_NO_PARTIAL
+-NBOOST_STATIC_ASSERT
+-NBOOST_STATIC_CONSTANT
+-NBOOST_MPL_HAS_XXX_TRAIT_DEF
+-NBOOST_MPL_ASSERT_MSG
+-NBOOST_FORCEINLINE
+-NBOOST_MPL_ASSERT
+-NBOOST_MPL_ASSERT_MSG
+-NBOOST_MPL_ASSERT_RELATION
 -NBOOST_PROTO_USE_GET_POINTER
 -NBOOST_PROTO_GET_POINTER
+-NBOOST_PROTO_CALLABLE
+-NBOOST_PROTO_TRANSFORM
 --timer

Modified: branches/release/libs/phoenix/test/algorithm/transformation2.cpp
==============================================================================
--- branches/release/libs/phoenix/test/algorithm/transformation2.cpp (original)
+++ branches/release/libs/phoenix/test/algorithm/transformation2.cpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -6,6 +6,7 @@
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
+#include <functional>
 #include <boost/phoenix/core.hpp>
 #include <boost/phoenix/stl/algorithm/transformation.hpp>
 #include <boost/detail/lightweight_test.hpp>

Modified: branches/release/libs/phoenix/test/algorithm/transformation3.cpp
==============================================================================
--- branches/release/libs/phoenix/test/algorithm/transformation3.cpp (original)
+++ branches/release/libs/phoenix/test/algorithm/transformation3.cpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -6,6 +6,7 @@
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
+#include <functional>
 #include <boost/phoenix/core.hpp>
 #include <boost/phoenix/stl/algorithm/transformation.hpp>
 #include <boost/detail/lightweight_test.hpp>

Modified: branches/release/libs/phoenix/test/boost_bind_compatibility/bind_stateful_test.cpp
==============================================================================
--- branches/release/libs/phoenix/test/boost_bind_compatibility/bind_stateful_test.cpp (original)
+++ branches/release/libs/phoenix/test/boost_bind_compatibility/bind_stateful_test.cpp 2012-09-28 19:08:17 EDT (Fri, 28 Sep 2012)
@@ -35,7 +35,7 @@
 {
 private:
 
- int state_;
+ mutable int state_;
 
 public:
 
@@ -50,6 +50,76 @@
 
     typedef int result_type;
 
+ int operator()() const
+ {
+ return state_ += 17041;
+ }
+
+ int operator()(int x1) const
+ {
+ return state_ += x1;
+ }
+
+ int operator()(int x1, int x2) const
+ {
+ return state_ += x1+x2;
+ }
+
+ int operator()(int x1, int x2, int x3) const
+ {
+ return state_ += x1+x2+x3;
+ }
+
+ int operator()(int x1, int x2, int x3, int x4) const
+ {
+ return state_ += x1+x2+x3+x4;
+ }
+
+ int operator()(int x1, int x2, int x3, int x4, int x5) const
+ {
+ return state_ += x1+x2+x3+x4+x5;
+ }
+
+ int operator()(int x1, int x2, int x3, int x4, int x5, int x6) const
+ {
+ return state_ += x1+x2+x3+x4+x5+x6;
+ }
+
+ int operator()(int x1, int x2, int x3, int x4, int x5, int x6, int x7) const
+ {
+ return state_ += x1+x2+x3+x4+x5+x6+x7;
+ }
+
+ int operator()(int x1, int x2, int x3, int x4, int x5, int x6, int x7, int x8) const
+ {
+ return state_ += x1+x2+x3+x4+x5+x6+x7+x8;
+ }
+
+ int operator()(int x1, int x2, int x3, int x4, int x5, int x6, int x7, int x8, int x9) const
+ {
+ return state_ += x1+x2+x3+x4+x5+x6+x7+x8+x9;
+ }
+};
+
+class Y
+{
+private:
+
+ int state_;
+
+public:
+
+ Y(): state_(0)
+ {
+ }
+
+ int state() const
+ {
+ return state_;
+ }
+
+ typedef int result_type;
+
     int operator()()
     {
         return state_ += 17041;
@@ -169,45 +239,43 @@
     ::test( bind( X(), 1, 2, 3, 4, 5, 6 ), 0, 1+2+3+4+5+6 );
     ::test( bind( X(), 1, 2, 3, 4, 5, 6, 7 ), 0, 1+2+3+4+5+6+7 );
     ::test( bind( X(), 1, 2, 3, 4, 5, 6, 7, 8 ), 0, 1+2+3+4+5+6+7+8 );
- //::test( bind( X(), 1, 2, 3, 4, 5, 6, 7, 8, 9 ), 0, 1+2+3+4+5+6+7+8+9 );
+ ::test( bind( X(), 1, 2, 3, 4, 5, 6, 7, 8, 9 ), 0, 1+2+3+4+5+6+7+8+9 );
 
- X x;
+ Y y;
 
- int n = x.state();
+ int n = y.state();
 
- ::test( bind( ref(x) ), n, 17041 );
+ ::test( bind( ref(y) ), n, 17041 );
     n += 3 * 17041;
 
- ::test( bind( ref(x), 1 ), n, 1 );
+ ::test( bind( ref(y), 1 ), n, 1 );
     n += 3*1;
 
- ::test( bind( ref(x), 1, 2 ), n, 1+2 );
+ ::test( bind( ref(y), 1, 2 ), n, 1+2 );
     n += 3*(1+2);
 
- ::test( bind( ref(x), 1, 2, 3 ), n, 1+2+3 );
+ ::test( bind( ref(y), 1, 2, 3 ), n, 1+2+3 );
     n += 3*(1+2+3);
 
- ::test( bind( ref(x), 1, 2, 3, 4 ), n, 1+2+3+4 );
+ ::test( bind( ref(y), 1, 2, 3, 4 ), n, 1+2+3+4 );
     n += 3*(1+2+3+4);
 
- ::test( bind( ref(x), 1, 2, 3, 4, 5 ), n, 1+2+3+4+5 );
+ ::test( bind( ref(y), 1, 2, 3, 4, 5 ), n, 1+2+3+4+5 );
     n += 3*(1+2+3+4+5);
 
- ::test( bind( ref(x), 1, 2, 3, 4, 5, 6 ), n, 1+2+3+4+5+6 );
+ ::test( bind( ref(y), 1, 2, 3, 4, 5, 6 ), n, 1+2+3+4+5+6 );
     n += 3*(1+2+3+4+5+6);
 
- ::test( bind( ref(x), 1, 2, 3, 4, 5, 6, 7 ), n, 1+2+3+4+5+6+7 );
+ ::test( bind( ref(y), 1, 2, 3, 4, 5, 6, 7 ), n, 1+2+3+4+5+6+7 );
     n += 3*(1+2+3+4+5+6+7);
 
- ::test( bind( ref(x), 1, 2, 3, 4, 5, 6, 7, 8 ), n, 1+2+3+4+5+6+7+8 );
+ ::test( bind( ref(y), 1, 2, 3, 4, 5, 6, 7, 8 ), n, 1+2+3+4+5+6+7+8 );
     n += 3*(1+2+3+4+5+6+7+8);
 
- /*
- ::test( bind( ref(x), 1, 2, 3, 4, 5, 6, 7, 8, 9 ), n, 1+2+3+4+5+6+7+8+9 );
+ ::test( bind( ref(y), 1, 2, 3, 4, 5, 6, 7, 8, 9 ), n, 1+2+3+4+5+6+7+8+9 );
     n += 3*(1+2+3+4+5+6+7+8+9);
- */
 
- BOOST_TEST( x.state() == n );
+ BOOST_TEST( y.state() == n );
 }
 
 void stateful_function_test()
@@ -222,7 +290,7 @@
     ::test( bind( f5, 0, 1, 2, 3, 4, 5 ), 0, 1+2+3+4+5 );
     ::test( bind( f6, 0, 1, 2, 3, 4, 5, 6 ), 0, 1+2+3+4+5+6 );
     ::test( bind( f7, 0, 1, 2, 3, 4, 5, 6, 7 ), 0, 1+2+3+4+5+6+7 );
- //::test( bind( f8, 0, 1, 2, 3, 4, 5, 6, 7, 8 ), 0, 1+2+3+4+5+6+7+8 );
+ ::test( bind( f8, 0, 1, 2, 3, 4, 5, 6, 7, 8 ), 0, 1+2+3+4+5+6+7+8 );
 }
 
 int main()


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