From 4a24e0f401106b501e9ab5ca27013fb8c385aced Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Sat, 13 Jul 2002 12:11:06 +0000 Subject: [PATCH] Fixed for VC7.1 [SVN r14433] --- include/boost/iterator_adaptors.hpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/include/boost/iterator_adaptors.hpp b/include/boost/iterator_adaptors.hpp index 7da2738..f0ef010 100644 --- a/include/boost/iterator_adaptors.hpp +++ b/include/boost/iterator_adaptors.hpp @@ -147,7 +147,7 @@ namespace boost { template struct TrivialIteratorPoliciesConcept { - typedef typename Traits::reference Reference; + typedef typename Traits::reference reference; void constraints() { function_requires< AssignableConcept >(); function_requires< DefaultConstructibleConcept >(); @@ -157,7 +157,7 @@ struct TrivialIteratorPoliciesConcept const_constraints(); } void const_constraints() const { - Reference r = p.dereference(x); + reference r = p.dereference(x); b = p.equal(x, x); ignore_unused_variable_warning(r); } @@ -766,7 +766,7 @@ namespace detail { // This macro definition is only temporary in this file -# if !defined(BOOST_MSVC) +# if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 # define BOOST_ARG_DEPENDENT_TYPENAME typename # else # define BOOST_ARG_DEPENDENT_TYPENAME @@ -855,9 +855,9 @@ struct iterator_adaptor : policies().initialize(base()); } -#if defined(BOOST_MSVC) || defined(__BORLANDC__) +#if defined(BOOST_MSVC) && BOOST_MSVC <= 1300 || defined(__BORLANDC__) // This is required to prevent a bug in how VC++ generates - // the assignment operator for compressed_pairv + // the assignment operator for compressed_pair iterator_adaptor& operator= (const iterator_adaptor& x) { m_iter_p = x.m_iter_p; return *this; @@ -1097,7 +1097,7 @@ struct indirect_iterator_policies : public default_iterator_policies }; namespace detail { -# if !defined(BOOST_MSVC) // stragely instantiated even when unused! Maybe try a recursive template someday ;-) +# if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 // strangely instantiated even when unused! Maybe try a recursive template someday ;-) template struct traits_of_value_type { typedef typename boost::detail::iterator_traits::value_type outer_value; @@ -1110,12 +1110,12 @@ namespace detail { template 1300 = BOOST_ARG_DEPENDENT_TYPENAME detail::traits_of_value_type< OuterIterator>::value_type #endif , class Reference -#if !defined(BOOST_MSVC) +#if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 = BOOST_ARG_DEPENDENT_TYPENAME detail::traits_of_value_type< OuterIterator>::reference #else @@ -1124,7 +1124,7 @@ template ::iterator_category , class Pointer -#if !defined(BOOST_MSVC) +#if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 = BOOST_ARG_DEPENDENT_TYPENAME detail::traits_of_value_type< OuterIterator>::pointer #else @@ -1139,12 +1139,12 @@ struct indirect_iterator_generator template 1300 = BOOST_ARG_DEPENDENT_TYPENAME detail::traits_of_value_type< OuterIterator>::value_type #endif , class Reference -#if !defined(BOOST_MSVC) +#if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 = BOOST_ARG_DEPENDENT_TYPENAME detail::traits_of_value_type< OuterIterator>::reference #else @@ -1154,7 +1154,7 @@ template ::iterator_category , class Pointer -#if !defined(BOOST_MSVC) +#if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 = BOOST_ARG_DEPENDENT_TYPENAME detail::traits_of_value_type< OuterIterator>::pointer #else @@ -1170,7 +1170,7 @@ struct indirect_iterator_pair_generator Value, ConstReference,Category,ConstPointer>::type const_iterator; }; -#ifndef BOOST_MSVC +#if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 template inline typename indirect_iterator_generator::type make_indirect_iterator(OuterIterator base) @@ -1392,7 +1392,7 @@ template ::value)); -#ifndef BOOST_MSVC // I don't have any idea why this occurs, but it doesn't seem to hurt too badly. +#if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 // I don't have any idea why this occurs, but it doesn't seem to hurt too badly. BOOST_STATIC_ASSERT(!is_bidirectional); #endif typedef filter_iterator_policies policies_type;