From eb288b2908abcb646b8a9e167eaae7aa373f6b40 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Thu, 26 Sep 2013 09:43:37 +0000 Subject: [PATCH] Iterator: Remove use of eti baseclass workaround. [SVN r85940] --- .../boost/iterator/iterator_archetypes.hpp | 43 ++++++++----------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/include/boost/iterator/iterator_archetypes.hpp b/include/boost/iterator/iterator_archetypes.hpp index 039de1c..323949a 100644 --- a/include/boost/iterator/iterator_archetypes.hpp +++ b/include/boost/iterator/iterator_archetypes.hpp @@ -20,7 +20,6 @@ #include -#include #include #include #include @@ -119,26 +118,24 @@ namespace detail template struct operator_brackets - : mpl::aux::msvc_eti_base< - typename mpl::eval_if< - is_convertible - , mpl::eval_if< + : mpl::eval_if< + is_convertible + , mpl::eval_if< + iterator_archetypes::has_access< + AccessCategory + , iterator_archetypes::writable_iterator_t + > + , mpl::identity > + , mpl::if_< iterator_archetypes::has_access< AccessCategory - , iterator_archetypes::writable_iterator_t - > - , mpl::identity > - , mpl::if_< - iterator_archetypes::has_access< - AccessCategory - , iterator_archetypes::readable_iterator_t - > - , readable_operator_brackets - , no_operator_brackets + , iterator_archetypes::readable_iterator_t > + , readable_operator_brackets + , no_operator_brackets > - , mpl::identity - >::type + > + , mpl::identity >::type {}; @@ -154,9 +151,7 @@ namespace detail template struct traversal_archetype_ - : mpl::aux::msvc_eti_base< - typename traversal_archetype_impl::template archetype - >::type + : traversal_archetype_impl::template archetype { typedef typename traversal_archetype_impl::template archetype @@ -309,11 +304,9 @@ struct iterator_access_archetype_impl template struct iterator_access_archetype - : mpl::aux::msvc_eti_base< - typename iterator_access_archetype_impl< - AccessCategory - >::template archetype - >::type + : iterator_access_archetype_impl< + AccessCategory + >::template archetype { };