[SVN r33505]
This commit is contained in:
Dave Abrahams
2006-03-28 16:12:56 +00:00
parent 1177466ac3
commit f100326cf0
2 changed files with 11 additions and 1 deletions

View File

@@ -13,8 +13,8 @@ namespace boost { namespace mpl {
template< typename T, bool has_type_ >
struct quote_impl
: T
{
typedef typename T::type type;
};
template< typename T >

View File

@@ -60,9 +60,19 @@ namespace boost { namespace mpl {
template< typename T, bool has_type_ >
struct quote_impl
// GCC has a problem with metafunction forwarding when T is a
// specialization of a template called 'type'.
# if BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4)) \
&& BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(0)) \
&& BOOST_WORKAROUND(__GNUC_PATCHLEVEL__ BOOST_TESTED_AT(2))
{
typedef typename T::type type;
};
# else
: T
{
};
# endif
template< typename T >
struct quote_impl<T,false>