From 86e183c75e79a51cf2c02128f912ac4e089ea01d Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Fri, 9 Feb 2001 05:44:13 +0000 Subject: [PATCH] MSVC porting [SVN r9052] --- include/boost/iterator_adaptors.hpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/include/boost/iterator_adaptors.hpp b/include/boost/iterator_adaptors.hpp index 5a5cfc8..b99b425 100644 --- a/include/boost/iterator_adaptors.hpp +++ b/include/boost/iterator_adaptors.hpp @@ -428,12 +428,15 @@ public: policies().initialize(iter()); } +#ifndef BOOST_MSVC // To allow construction of const adaptor from non-const adaptee. + // However, when this is defined MSVC gives ambiguous error. template iterator_adaptor(const OtherIterator& it, const Policies& p = Policies()) : m_iter_p(it, p) { policies().initialize(iter()); } +#endif template iterator_adaptor (const iterator_adaptor::type const_iterator; }; -// WARNING: Do not use the one argument version of -// make_indirect_iterator() if the iterator is a builtin pointer type -// and if your compiler does not support partial specialization. +#ifndef BOOST_NO_STD_ITERATOR_TRAITS template inline typename indirect_iterator_generator::type make_indirect_iterator(OuterIterator base) @@ -692,6 +693,7 @@ make_indirect_iterator(OuterIterator base) ::type result_t; return result_t(base); } +#endif // Tried to allow InnerTraits to be provided by explicit template // argument to the function, but could not get it to work. -Jeremy Siek