BUGFIX: MSVC doesn't accept typename to specify a dependent scope within

template specialization in C++03 as standard specify it.

This also works on GCC 4.6, 4.8.2 and 4.9 in C++11 and C++03, I needlessly
added this during some debugging where the compiler was telling me to do so.

I shouldn't have followed it's advice, as this breaks compatibility with
other compilers.
This commit is contained in:
Damien Buhl (alias daminetreg)
2015-01-21 00:28:13 +01:00
parent f68b7b1f5a
commit 98247fb97f

View File

@ -54,12 +54,12 @@
ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, 1)) type; \ ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, 1)) type; \
}; \ }; \
\ \
typedef typename boost::remove_const< \ typedef boost::remove_const< \
typename deduced_attr_type::type \ deduced_attr_type::type \
>::type type; \ >::type type; \
\ \
typedef typename boost::add_const< \ typedef boost::add_const< \
typename deduced_attr_type::type \ deduced_attr_type::type \
>::type const_type; >::type const_type;
#define BOOST_FUSION_ADT_ATTRIBUTE_GIVENTYPE( \ #define BOOST_FUSION_ADT_ATTRIBUTE_GIVENTYPE( \
@ -126,7 +126,7 @@
, true \ , true \
> \ > \
{ \ { \
typedef typename access::adt_attribute_access< \ typedef access::adt_attribute_access< \
BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \
, I \ , I \
>::const_type type; \ >::const_type type; \
@ -165,7 +165,7 @@
, false \ , false \
> \ > \
{ \ { \
typedef typename access::adt_attribute_access< \ typedef access::adt_attribute_access< \
BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \
, I \ , I \
>::type type; \ >::type type; \
@ -215,7 +215,7 @@
, I \ , I \
> \ > \
{ \ { \
typedef typename \ typedef \
adt_attribute_proxy< \ adt_attribute_proxy< \
BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \
, I \ , I \