From 31fa329aa7424c1911cff3a6cdf09c97b2faf73e Mon Sep 17 00:00:00 2001 From: Daniel Wallin Date: Wed, 13 Apr 2005 07:48:44 +0000 Subject: [PATCH] Fix for intel-win32-8_1 regression [SVN r28204] --- include/boost/parameter/aux_/unwrap_cv_reference.hpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/include/boost/parameter/aux_/unwrap_cv_reference.hpp b/include/boost/parameter/aux_/unwrap_cv_reference.hpp index 8841124..8a8bc58 100755 --- a/include/boost/parameter/aux_/unwrap_cv_reference.hpp +++ b/include/boost/parameter/aux_/unwrap_cv_reference.hpp @@ -40,6 +40,14 @@ struct is_cv_reference_wrapper typedef mpl::bool_ type; }; +// Needed for unwrap_cv_reference below. T might be const, so +// eval_if might fail because of deriving from T const on EDG. +template +struct get_type +{ + typedef typename T::type type; +}; + // Produces the unwrapped type to hold a reference to in named<> // Can't use boost::unwrap_reference<> here because it // doesn't handle the case where T = reference_wrapper cv @@ -48,7 +56,7 @@ struct unwrap_cv_reference { typedef typename mpl::eval_if< is_cv_reference_wrapper - , T + , get_type , mpl::identity >::type type; };