summaryrefslogtreecommitdiff
path: root/boost/phoenix/core/detail/function_eval.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/phoenix/core/detail/function_eval.hpp')
-rw-r--r--boost/phoenix/core/detail/function_eval.hpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/boost/phoenix/core/detail/function_eval.hpp b/boost/phoenix/core/detail/function_eval.hpp
index 8fde0dfaa5..6ffea2b4a4 100644
--- a/boost/phoenix/core/detail/function_eval.hpp
+++ b/boost/phoenix/core/detail/function_eval.hpp
@@ -99,11 +99,15 @@ namespace boost { namespace phoenix {
#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);