diff --git a/include/boost/iterator_adaptors.hpp b/include/boost/iterator_adaptors.hpp index f8b3659..815e219 100644 --- a/include/boost/iterator_adaptors.hpp +++ b/include/boost/iterator_adaptors.hpp @@ -728,23 +728,24 @@ struct reverse_iterator_generator Traits> type; }; -template -inline typename reverse_iterator_generator::type -make_reverse_iterator(Iterator iter, Traits) -{ - typedef typename reverse_iterator_generator::type result_t; - return result_t(iter); -} - -#if !defined(BOOST_NO_STD_ITERATOR_TRAITS) template inline typename reverse_iterator_generator::type -make_reverse_iterator(Iterator iter) +make_reverse_iterator(Iterator base) { typedef typename reverse_iterator_generator::type result_t; - return result_t(iter); + return result_t(base); +} + +// Specify Traits type with an explicit argument, +// i.e., make_reverse_iterator(base) + +template +inline typename reverse_iterator_generator::type +make_reverse_iterator(Iterator base, Traits* = 0) +{ + typedef typename reverse_iterator_generator::type result_t; + return result_t(base); } -#endif //============================================================================= // Projection Iterators Adaptor