From cccfc979bed8b03d039155061c7f9ac4e0d863d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorsten=20J=C3=B8rgen=20Ottosen?= Date: Sun, 13 Feb 2005 22:29:22 +0000 Subject: [PATCH] *** empty log message *** [SVN r27364] --- include/boost/type_traits/decay.hpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/include/boost/type_traits/decay.hpp b/include/boost/type_traits/decay.hpp index 1e978b2..81f5303 100755 --- a/include/boost/type_traits/decay.hpp +++ b/include/boost/type_traits/decay.hpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -23,13 +24,16 @@ namespace boost template< class T > struct decay { - typedef typename mpl::eval_if< - is_array, - mpl::identity::type*>, - typename mpl::eval_if< - is_function, - add_pointer, - mpl::identity + private: + typedef BOOST_DEDUCED_TYPENAME remove_reference::type Ty; + public: + typedef BOOST_DEDUCED_TYPENAME mpl::eval_if< + is_array, + mpl::identity::type*>, + BOOST_DEDUCED_TYPENAME mpl::eval_if< + is_function, + add_pointer, + mpl::identity > >::type type; };