$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r85940 - trunk/boost/iterator
From: steveire_at_[hidden]
Date: 2013-09-26 05:43:37
Author: skelly
Date: 2013-09-26 05:43:37 EDT (Thu, 26 Sep 2013)
New Revision: 85940
URL: http://svn.boost.org/trac/boost/changeset/85940
Log:
Iterator: Remove use of eti baseclass workaround.
Text files modified: 
   trunk/boost/iterator/iterator_archetypes.hpp |    43 ++++++++++++++++----------------------- 
   1 files changed, 18 insertions(+), 25 deletions(-)
Modified: trunk/boost/iterator/iterator_archetypes.hpp
==============================================================================
--- trunk/boost/iterator/iterator_archetypes.hpp	Thu Sep 26 05:43:12 2013	(r85939)
+++ trunk/boost/iterator/iterator_archetypes.hpp	2013-09-26 05:43:37 EDT (Thu, 26 Sep 2013)	(r85940)
@@ -20,7 +20,6 @@
 
 #include <boost/concept_archetype.hpp>
 
-#include <boost/mpl/aux_/msvc_eti_base.hpp>
 #include <boost/mpl/bitand.hpp>
 #include <boost/mpl/int.hpp>
 #include <boost/mpl/equal_to.hpp>
@@ -119,26 +118,24 @@
 
   template <class Value, class AccessCategory, class TraversalCategory>
   struct operator_brackets
-    : mpl::aux::msvc_eti_base<
-          typename mpl::eval_if<
-              is_convertible<TraversalCategory, random_access_traversal_tag>
-            , mpl::eval_if<
+    : mpl::eval_if<
+          is_convertible<TraversalCategory, random_access_traversal_tag>
+        , mpl::eval_if<
+              iterator_archetypes::has_access<
+                  AccessCategory
+                , iterator_archetypes::writable_iterator_t
+              >
+            , mpl::identity<writable_operator_brackets<Value> >
+            , mpl::if_<
                   iterator_archetypes::has_access<
                       AccessCategory
-                    , iterator_archetypes::writable_iterator_t
-                  >
-                , mpl::identity<writable_operator_brackets<Value> >
-                , mpl::if_<
-                      iterator_archetypes::has_access<
-                          AccessCategory
-                        , iterator_archetypes::readable_iterator_t
-                      >
-                    , readable_operator_brackets<Value>
-                    , no_operator_brackets
+                    , iterator_archetypes::readable_iterator_t
                   >
+                , readable_operator_brackets<Value>
+                , no_operator_brackets
               >
-            , mpl::identity<no_operator_brackets>
-          >::type
+          >
+        , mpl::identity<no_operator_brackets>
       >::type
   {};
   
@@ -154,9 +151,7 @@
 
   template <class Derived, class Value, class TraversalCategory>
   struct traversal_archetype_
-    : mpl::aux::msvc_eti_base<
-          typename traversal_archetype_impl<TraversalCategory>::template archetype<Derived,Value>
-      >::type
+    : traversal_archetype_impl<TraversalCategory>::template archetype<Derived,Value>
   {
       typedef typename
         traversal_archetype_impl<TraversalCategory>::template archetype<Derived,Value>
@@ -309,11 +304,9 @@
 
 template <class Value, class AccessCategory>
 struct iterator_access_archetype
-  : mpl::aux::msvc_eti_base<
-        typename iterator_access_archetype_impl<
-            AccessCategory
-        >::template archetype<Value>
-    >::type
+  : iterator_access_archetype_impl<
+        AccessCategory
+    >::template archetype<Value>
 {
 };