From 7fa5da6778fb0e9dbee29b51e8c174d557c927cb Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Mon, 15 Jan 2001 02:51:45 +0000 Subject: [PATCH] fixed dispatch for MIPSpro workaround [SVN r8599] --- include/boost/pending/iterator_adaptors.hpp | 29 ++++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/include/boost/pending/iterator_adaptors.hpp b/include/boost/pending/iterator_adaptors.hpp index f454d10..cd1ee5e 100644 --- a/include/boost/pending/iterator_adaptors.hpp +++ b/include/boost/pending/iterator_adaptors.hpp @@ -221,13 +221,18 @@ inline bool operator<=(const iterator_comparisons& xb, namespace detail { - // Dummy version for iterators that don't support member access - template + // Dummy versions for iterators that don't support member access + template inline typename Iter::pointer - operator_arrow(const Iter&, Cat) { - typedef typename Iter::pointer Pointer; - return Pointer(); + operator_arrow(const Iter&, std::input_iterator_tag) { + return typename Iter::pointer(); } + template + inline typename Iter::pointer + operator_arrow(const Iter&, std::output_iterator_tag) { + return typename Iter::pointer(); + } + // Real version template inline typename Iter::pointer @@ -236,8 +241,10 @@ namespace detail { } // Dummy version for non-random access iterators - template - inline void advance_impl(Iter&, Diff, Cat) { } + template + inline void advance_impl(Iter&, Diff, std::input_iterator_tag) { } + template + inline void advance_impl(Iter&, Diff, std::output_iterator_tag) { } // Real version template @@ -250,9 +257,11 @@ namespace detail { #endif } - // Dummy version for non-bidirectional iterators - template - inline void decrement_impl(Iter&, Cat) { } + // Dummy versions for non-bidirectional iterators + template + inline void decrement_impl(Iter&, std::input_iterator_tag) { } + template + inline void decrement_impl(Iter&, std::output_iterator_tag) { } // Real version template