From ae45f7abf7e2b3360f7251280d30f5abdebca1ef Mon Sep 17 00:00:00 2001 From: John Maddock Date: Thu, 25 Aug 2005 16:27:28 +0000 Subject: [PATCH] Large patch from Ulrich Eckhardt to fix support for EVC++ 4. [SVN r30670] --- include/boost/iterator/detail/enable_if.hpp | 2 +- include/boost/iterator/detail/minimum_category.hpp | 8 ++++---- include/boost/iterator/filter_iterator.hpp | 2 +- include/boost/iterator/iterator_categories.hpp | 4 ++-- include/boost/iterator/iterator_facade.hpp | 10 +++++----- include/boost/iterator/iterator_traits.hpp | 2 +- include/boost/iterator/zip_iterator.hpp | 6 +++--- 7 files changed, 17 insertions(+), 17 deletions(-) diff --git a/include/boost/iterator/detail/enable_if.hpp b/include/boost/iterator/detail/enable_if.hpp index 45428a5..0fd36fc 100644 --- a/include/boost/iterator/detail/enable_if.hpp +++ b/include/boost/iterator/detail/enable_if.hpp @@ -72,7 +72,7 @@ namespace boost : mpl::identity # endif { -# if BOOST_WORKAROUND(BOOST_MSVC, <= 1200) +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) typedef Return type; # endif }; diff --git a/include/boost/iterator/detail/minimum_category.hpp b/include/boost/iterator/detail/minimum_category.hpp index 74cef63..96501dd 100755 --- a/include/boost/iterator/detail/minimum_category.hpp +++ b/include/boost/iterator/detail/minimum_category.hpp @@ -22,7 +22,7 @@ namespace boost { namespace detail { // template struct minimum_category_impl -# if BOOST_WORKAROUND(BOOST_MSVC, == 1200) +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) { template struct apply { @@ -77,12 +77,12 @@ template struct minimum_category { typedef minimum_category_impl< -# if BOOST_WORKAROUND(BOOST_MSVC, == 1200) // ETI workaround +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround is_same::value || # endif ::boost::is_convertible::value , ::boost::is_convertible::value -# if BOOST_WORKAROUND(BOOST_MSVC, == 1200) // ETI workaround +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround || is_same::value # endif > outer; @@ -103,7 +103,7 @@ struct minimum_category BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,minimum_category,(mpl::_1,mpl::_2)) }; -# if BOOST_WORKAROUND(BOOST_MSVC, == 1200) // ETI workaround +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround template <> struct minimum_category { diff --git a/include/boost/iterator/filter_iterator.hpp b/include/boost/iterator/filter_iterator.hpp index 96fb843..9e34eb2 100644 --- a/include/boost/iterator/filter_iterator.hpp +++ b/include/boost/iterator/filter_iterator.hpp @@ -122,7 +122,7 @@ namespace boost , Iterator >::type x , Iterator end = Iterator() -#if BOOST_WORKAROUND(BOOST_MSVC, == 1200) +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) , Predicate* = 0 #endif ) diff --git a/include/boost/iterator/iterator_categories.hpp b/include/boost/iterator/iterator_categories.hpp index 085936f..564ae50 100644 --- a/include/boost/iterator/iterator_categories.hpp +++ b/include/boost/iterator/iterator_categories.hpp @@ -97,7 +97,7 @@ namespace detail > {}; -# if BOOST_WORKAROUND(BOOST_MSVC, == 1200) +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) template <> struct old_category_to_traversal { @@ -131,7 +131,7 @@ namespace detail { }; -# if BOOST_WORKAROUND(BOOST_MSVC, == 1200) +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) template <> struct pure_traversal_tag { diff --git a/include/boost/iterator/iterator_facade.hpp b/include/boost/iterator/iterator_facade.hpp index ddb237d..1f80a67 100644 --- a/include/boost/iterator/iterator_facade.hpp +++ b/include/boost/iterator/iterator_facade.hpp @@ -327,7 +327,7 @@ namespace boost } }; -# if BOOST_WORKAROUND(BOOST_MSVC, <= 1200) +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // Deal with ETI template<> struct operator_arrow_result @@ -410,7 +410,7 @@ namespace boost : # ifdef BOOST_NO_ONE_WAY_ITERATOR_INTEROP iterator_difference -# elif BOOST_WORKAROUND(BOOST_MSVC, == 1200) +# elif BOOST_WORKAROUND(BOOST_MSVC, < 1300) mpl::if_< is_convertible , typename I1::difference_type @@ -666,7 +666,7 @@ namespace boost return this->derived(); } -# if BOOST_WORKAROUND(BOOST_MSVC, == 1200) +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) typename detail::postfix_increment_result::type operator++(int) { @@ -708,7 +708,7 @@ namespace boost return result -= x; } -# if BOOST_WORKAROUND(BOOST_MSVC, <= 1200) +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // There appears to be a bug which trashes the data of classes // derived from iterator_facade when they are assigned unless we // define this assignment operator. This bug is only revealed @@ -721,7 +721,7 @@ namespace boost # endif }; -# if !BOOST_WORKAROUND(BOOST_MSVC, == 1200) +# if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) template typename detail::postfix_increment_result::type operator++( diff --git a/include/boost/iterator/iterator_traits.hpp b/include/boost/iterator/iterator_traits.hpp index 93e282e..1352710 100644 --- a/include/boost/iterator/iterator_traits.hpp +++ b/include/boost/iterator/iterator_traits.hpp @@ -55,7 +55,7 @@ struct BOOST_ITERATOR_CATEGORY typedef typename detail::iterator_traits::iterator_category type; }; -# if BOOST_WORKAROUND(BOOST_MSVC, <= 1200) +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) template <> struct iterator_value { diff --git a/include/boost/iterator/zip_iterator.hpp b/include/boost/iterator/zip_iterator.hpp index 817bbab..b0eef96 100755 --- a/include/boost/iterator/zip_iterator.hpp +++ b/include/boost/iterator/zip_iterator.hpp @@ -181,11 +181,11 @@ namespace boost { > struct tuple_meta_accumulate : mpl::eval_if< -#if BOOST_WORKAROUND(BOOST_MSVC, == 1200) +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) mpl::or_< #endif boost::is_same -#if BOOST_WORKAROUND(BOOST_MSVC, == 1200) +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) , boost::is_same > #endif @@ -382,7 +382,7 @@ namespace boost { >::type type; }; -#if BOOST_WORKAROUND(BOOST_MSVC, == 1200) // ETI workaround +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround template <> struct minimum_traversal_category_in_iterator_tuple {