$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r69506 - sandbox/SOC/2010/phoenix3/boost/phoenix/core
From: thom.heller_at_[hidden]
Date: 2011-03-03 01:39:10
Author: theller
Date: 2011-03-03 01:39:05 EST (Thu, 03 Mar 2011)
New Revision: 69506
URL: http://svn.boost.org/trac/boost/changeset/69506
Log:
Added terminal support in phoenix::call
Text files modified: 
   sandbox/SOC/2010/phoenix3/boost/phoenix/core/call.hpp |    24 ++++++++++++++++++++++++                
   1 files changed, 24 insertions(+), 0 deletions(-)
Modified: sandbox/SOC/2010/phoenix3/boost/phoenix/core/call.hpp
==============================================================================
--- sandbox/SOC/2010/phoenix3/boost/phoenix/core/call.hpp	(original)
+++ sandbox/SOC/2010/phoenix3/boost/phoenix/core/call.hpp	2011-03-03 01:39:05 EST (Thu, 03 Mar 2011)
@@ -20,6 +20,30 @@
     {
         template <typename Fun, typename Expr, typename State, typename Data, long Arity = proto::arity_of<Expr>::value>
         struct call_impl;
+        
+		  template <typename Fun, typename Expr, typename State, typename Data>
+        struct call_impl<Fun, Expr, State, Data, 0>
+            : proto::transform_impl<Expr, State, Data>
+		  {
+            typedef
+                typename boost::phoenix::result_of::context<State, Data>::type
+                context_type;
+
+            typedef
+                typename boost::result_of<
+                    Fun(context_type, Expr)
+                >::type
+                result_type;
+
+            result_type operator()(
+                typename call_impl::expr_param e
+              , typename call_impl::state_param s
+              , typename call_impl::data_param d
+            ) const
+            {
+                return Fun()(boost::phoenix::context(s, d), e);
+            }
+		  };
     }
 
     template <typename Fun, typename Dummy = void>