mirror of
https://github.com/boostorg/iterator.git
synced 2025-07-20 16:12:10 +02:00
MSVC porting
[SVN r9052]
This commit is contained in:
@ -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
|
||||||
|
Reference in New Issue
Block a user