forked from boostorg/iterator
fixed dispatch for MIPSpro workaround
[SVN r8599]
This commit is contained in:
@ -221,13 +221,18 @@ inline bool operator<=(const iterator_comparisons<D1,Base1>& xb,
|
|||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
// Dummy version for iterators that don't support member access
|
// Dummy versions for iterators that don't support member access
|
||||||
template <class Iter, class Cat>
|
template <class Iter>
|
||||||
inline typename Iter::pointer
|
inline typename Iter::pointer
|
||||||
operator_arrow(const Iter&, Cat) {
|
operator_arrow(const Iter&, std::input_iterator_tag) {
|
||||||
typedef typename Iter::pointer Pointer;
|
return typename Iter::pointer();
|
||||||
return Pointer();
|
|
||||||
}
|
}
|
||||||
|
template <class Iter>
|
||||||
|
inline typename Iter::pointer
|
||||||
|
operator_arrow(const Iter&, std::output_iterator_tag) {
|
||||||
|
return typename Iter::pointer();
|
||||||
|
}
|
||||||
|
|
||||||
// Real version
|
// Real version
|
||||||
template <class Iter>
|
template <class Iter>
|
||||||
inline typename Iter::pointer
|
inline typename Iter::pointer
|
||||||
@ -236,8 +241,10 @@ namespace detail {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Dummy version for non-random access iterators
|
// Dummy version for non-random access iterators
|
||||||
template <class Iter, class Diff, class Cat>
|
template <class Iter, class Diff>
|
||||||
inline void advance_impl(Iter&, Diff, Cat) { }
|
inline void advance_impl(Iter&, Diff, std::input_iterator_tag) { }
|
||||||
|
template <class Iter, class Diff>
|
||||||
|
inline void advance_impl(Iter&, Diff, std::output_iterator_tag) { }
|
||||||
|
|
||||||
// Real version
|
// Real version
|
||||||
template <class Iter, class Diff>
|
template <class Iter, class Diff>
|
||||||
@ -250,9 +257,11 @@ namespace detail {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dummy version for non-bidirectional iterators
|
// Dummy versions for non-bidirectional iterators
|
||||||
template <class Iter, class Cat>
|
template <class Iter>
|
||||||
inline void decrement_impl(Iter&, Cat) { }
|
inline void decrement_impl(Iter&, std::input_iterator_tag) { }
|
||||||
|
template <class Iter>
|
||||||
|
inline void decrement_impl(Iter&, std::output_iterator_tag) { }
|
||||||
|
|
||||||
// Real version
|
// Real version
|
||||||
template <class Iter>
|
template <class Iter>
|
||||||
|
Reference in New Issue
Block a user