forked from boostorg/type_traits
Moved to much cleaner system of using BOOST_TT_BROKEN_COMPILER_SPEC
for handling vc6/7 deficiencies with iterator_traits. Fixed a bug in iterator_facade which was causing incomplete types to be passed through is_convertible. Reinstated libs/utility/iterator_traits_test.cpp [SVN r19840]
This commit is contained in:
@@ -18,6 +18,7 @@ template< typename T > struct remove_const_impl { typedef T type; };
|
||||
template< typename T > struct remove_volatile_impl { typedef T type; };
|
||||
template< typename T > struct remove_pointer_impl { typedef T type; };
|
||||
template< typename T > struct remove_reference_impl { typedef T type; };
|
||||
typedef int invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces;
|
||||
}}
|
||||
#endif
|
||||
|
||||
@@ -75,6 +76,8 @@ template<> struct trait##_impl<spec> \
|
||||
|
||||
# define BOOST_TT_BROKEN_COMPILER_SPEC(T) \
|
||||
namespace boost { namespace detail { \
|
||||
typedef invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces \
|
||||
please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_outside_all_namespaces; \
|
||||
BOOST_TT_AUX_REMOVE_ALL_RANK_1_SPEC(T) \
|
||||
BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T) \
|
||||
BOOST_TT_AUX_REMOVE_ALL_RANK_2_SPEC(T*) \
|
||||
|
Reference in New Issue
Block a user