From eebabce934dec3744a15a71b193bc6ab09b5544e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Tue, 14 Apr 2015 14:56:38 +0200 Subject: [PATCH] Avoid inheritance --- .../boost/intrusive/detail/transform_iterator.hpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/include/boost/intrusive/detail/transform_iterator.hpp b/include/boost/intrusive/detail/transform_iterator.hpp index 89ec973..5e3b1a7 100644 --- a/include/boost/intrusive/detail/transform_iterator.hpp +++ b/include/boost/intrusive/detail/transform_iterator.hpp @@ -23,6 +23,7 @@ #include #include +#include namespace boost { namespace intrusive { @@ -58,14 +59,14 @@ struct operator_arrow_proxy template class transform_iterator - : public boost::intrusive::iterator - < typename Iterator::iterator_category - , typename detail::remove_reference::type - , typename Iterator::difference_type - , operator_arrow_proxy - , typename UnaryFunction::result_type> { public: + typedef typename Iterator::iterator_category iterator_category; + typedef typename detail::remove_reference::type value_type; + typedef typename Iterator::difference_type difference_type; + typedef operator_arrow_proxy pointer; + typedef typename UnaryFunction::result_type reference; + explicit transform_iterator(const Iterator &it, const UnaryFunction &f = UnaryFunction()) : members_(it, f) {}