Iterator: Remove use of eti baseclass workaround.

[SVN r85940]
This commit is contained in:
Stephen Kelly
2013-09-26 09:43:37 +00:00
committed by Daniel James
parent 0e23f15623
commit eb288b2908

View File

@ -20,7 +20,6 @@
#include <boost/concept_archetype.hpp> #include <boost/concept_archetype.hpp>
#include <boost/mpl/aux_/msvc_eti_base.hpp>
#include <boost/mpl/bitand.hpp> #include <boost/mpl/bitand.hpp>
#include <boost/mpl/int.hpp> #include <boost/mpl/int.hpp>
#include <boost/mpl/equal_to.hpp> #include <boost/mpl/equal_to.hpp>
@ -119,8 +118,7 @@ namespace detail
template <class Value, class AccessCategory, class TraversalCategory> template <class Value, class AccessCategory, class TraversalCategory>
struct operator_brackets struct operator_brackets
: mpl::aux::msvc_eti_base< : mpl::eval_if<
typename mpl::eval_if<
is_convertible<TraversalCategory, random_access_traversal_tag> is_convertible<TraversalCategory, random_access_traversal_tag>
, mpl::eval_if< , mpl::eval_if<
iterator_archetypes::has_access< iterator_archetypes::has_access<
@ -139,7 +137,6 @@ namespace detail
> >
, mpl::identity<no_operator_brackets> , mpl::identity<no_operator_brackets>
>::type >::type
>::type
{}; {};
template <class TraversalCategory> template <class TraversalCategory>
@ -154,9 +151,7 @@ namespace detail
template <class Derived, class Value, class TraversalCategory> template <class Derived, class Value, class TraversalCategory>
struct traversal_archetype_ struct traversal_archetype_
: mpl::aux::msvc_eti_base< : traversal_archetype_impl<TraversalCategory>::template archetype<Derived,Value>
typename traversal_archetype_impl<TraversalCategory>::template archetype<Derived,Value>
>::type
{ {
typedef typename typedef typename
traversal_archetype_impl<TraversalCategory>::template archetype<Derived,Value> traversal_archetype_impl<TraversalCategory>::template archetype<Derived,Value>
@ -309,11 +304,9 @@ struct iterator_access_archetype_impl
template <class Value, class AccessCategory> template <class Value, class AccessCategory>
struct iterator_access_archetype struct iterator_access_archetype
: mpl::aux::msvc_eti_base< : iterator_access_archetype_impl<
typename iterator_access_archetype_impl<
AccessCategory AccessCategory
>::template archetype<Value> >::template archetype<Value>
>::type
{ {
}; };