MSVC porting

[SVN r9052]
This commit is contained in:
Jeremy Siek
2001-02-09 05:44:13 +00:00
parent a94c9d0db2
commit 86e183c75e

View File

@ -428,12 +428,15 @@ public:
policies().initialize(iter()); policies().initialize(iter());
} }
#ifndef BOOST_MSVC
// To allow construction of const adaptor from non-const adaptee. // To allow construction of const adaptor from non-const adaptee.
// However, when this is defined MSVC gives ambiguous error.
template <class OtherIterator> template <class OtherIterator>
iterator_adaptor(const OtherIterator& it, const Policies& p = Policies()) iterator_adaptor(const OtherIterator& it, const Policies& p = Policies())
: m_iter_p(it, p) { : m_iter_p(it, p) {
policies().initialize(iter()); policies().initialize(iter());
} }
#endif
template <class OtherIter, class OtherTraits> template <class OtherIter, class OtherTraits>
iterator_adaptor (const iterator_adaptor<OtherIter, Policies, iterator_adaptor (const iterator_adaptor<OtherIter, Policies,
@ -681,9 +684,7 @@ struct indirect_iterator_pair_generator
ConstInnerTraits>::type const_iterator; ConstInnerTraits>::type const_iterator;
}; };
// WARNING: Do not use the one argument version of #ifndef BOOST_NO_STD_ITERATOR_TRAITS
// make_indirect_iterator() if the iterator is a builtin pointer type
// and if your compiler does not support partial specialization.
template <class OuterIterator> template <class OuterIterator>
inline typename indirect_iterator_generator<OuterIterator>::type inline typename indirect_iterator_generator<OuterIterator>::type
make_indirect_iterator(OuterIterator base) make_indirect_iterator(OuterIterator base)
@ -692,6 +693,7 @@ make_indirect_iterator(OuterIterator base)
<OuterIterator>::type result_t; <OuterIterator>::type result_t;
return result_t(base); return result_t(base);
} }
#endif
// Tried to allow InnerTraits to be provided by explicit template // Tried to allow InnerTraits to be provided by explicit template
// argument to the function, but could not get it to work. -Jeremy Siek // argument to the function, but could not get it to work. -Jeremy Siek