From 8496571204333aacd0d6517418fefa78f216ce26 Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Fri, 9 Feb 2001 03:29:11 +0000 Subject: [PATCH] Fold in Jeremy's improvement to make_reverse_iterator [SVN r9042] --- include/boost/iterator_adaptors.hpp | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) 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