From ea8c6a9d53ff09a6f234c10d755fd644057a4c16 Mon Sep 17 00:00:00 2001 From: Peder Holt Date: Mon, 28 Aug 2006 13:26:19 +0000 Subject: [PATCH] Fixed error with BOOST_TYPEOF_NESTED_TYPEDEF for CW. [SVN r34982] --- include/boost/typeof/typeof_impl.hpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/include/boost/typeof/typeof_impl.hpp b/include/boost/typeof/typeof_impl.hpp index aa62cf6..9c23de6 100755 --- a/include/boost/typeof/typeof_impl.hpp +++ b/include/boost/typeof/typeof_impl.hpp @@ -107,6 +107,19 @@ namespace boost { namespace type_of { typedef _typeof_fraction_iter next;\ }; +#ifdef __MWERKS__ + +# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \ +template\ +struct BOOST_PP_CAT(_typeof_template_,name) {\ + BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\ + typedef typename boost::type_of::decode_type<_typeof_fraction_iter > >::type type;\ +};\ +typedef BOOST_PP_CAT(_typeof_template_,name) name; + +# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) BOOST_TYPEOF_NESTED_TYPEDEF(name,expr); + +#else # define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \ struct name {\ BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\ @@ -118,5 +131,6 @@ namespace boost { namespace type_of { BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\ typedef boost::type_of::decode_type<_typeof_fraction_iter > >::type type;\ }; +#endif #endif//BOOST_TYPEOF_COMPLIANT_TYPEOF_IMPL_HPP_INCLUDED