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