diff options
Diffstat (limited to 'boost/intrusive/detail/transform_iterator.hpp')
-rw-r--r-- | boost/intrusive/detail/transform_iterator.hpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/boost/intrusive/detail/transform_iterator.hpp b/boost/intrusive/detail/transform_iterator.hpp index 89ec973967..5e3b1a7652 100644 --- a/boost/intrusive/detail/transform_iterator.hpp +++ b/boost/intrusive/detail/transform_iterator.hpp @@ -23,6 +23,7 @@ #include <boost/intrusive/detail/config_begin.hpp> #include <boost/intrusive/detail/mpl.hpp> +#include <boost/intrusive/detail/iterator.hpp> namespace boost { namespace intrusive { @@ -58,14 +59,14 @@ struct operator_arrow_proxy<T&> template <class Iterator, class UnaryFunction> class transform_iterator - : public boost::intrusive::iterator - < typename Iterator::iterator_category - , typename detail::remove_reference<typename UnaryFunction::result_type>::type - , typename Iterator::difference_type - , operator_arrow_proxy<typename UnaryFunction::result_type> - , typename UnaryFunction::result_type> { public: + typedef typename Iterator::iterator_category iterator_category; + typedef typename detail::remove_reference<typename UnaryFunction::result_type>::type value_type; + typedef typename Iterator::difference_type difference_type; + typedef operator_arrow_proxy<typename UnaryFunction::result_type> pointer; + typedef typename UnaryFunction::result_type reference; + explicit transform_iterator(const Iterator &it, const UnaryFunction &f = UnaryFunction()) : members_(it, f) {} |