Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r85953 - in trunk/boost/multi_index: . detail
From: steveire_at_[hidden]
Date: 2013-09-26 09:04:05


Author: skelly
Date: 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013)
New Revision: 85953
URL: http://svn.boost.org/trac/boost/changeset/85953

Log:
MultiIndex: Remove obsolete MSVC version checks.

Deleted:
   trunk/boost/multi_index/detail/msvc_index_specifier.hpp
   trunk/boost/multi_index/detail/safe_ctr_proxy.hpp
Text files modified:
   trunk/boost/multi_index/composite_key.hpp | 4 -
   trunk/boost/multi_index/detail/base_type.hpp | 13 ----
   /dev/null | 69 --------------------------
   trunk/boost/multi_index/detail/node_type.hpp | 13 ----
   trunk/boost/multi_index/detail/prevent_eti.hpp | 23 --------
   /dev/null | 105 ----------------------------------------
   trunk/boost/multi_index/detail/unbounded.hpp | 17 ------
   trunk/boost/multi_index/hashed_index.hpp | 25 ---------
   trunk/boost/multi_index/indexed_by.hpp | 4 -
   trunk/boost/multi_index/mem_fun.hpp | 14 ----
   trunk/boost/multi_index/ordered_index.hpp | 21 --------
   trunk/boost/multi_index/random_access_index.hpp | 21 --------
   trunk/boost/multi_index/sequenced_index.hpp | 21 --------
   trunk/boost/multi_index/tag.hpp | 4 -
   14 files changed, 1 insertions(+), 353 deletions(-)

Modified: trunk/boost/multi_index/composite_key.hpp
==============================================================================
--- trunk/boost/multi_index/composite_key.hpp Thu Sep 26 09:02:51 2013 (r85952)
+++ trunk/boost/multi_index/composite_key.hpp 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013) (r85953)
@@ -59,12 +59,8 @@
  */
 
 #if !defined(BOOST_MULTI_INDEX_LIMIT_COMPOSITE_KEY_SIZE)
-#if defined(BOOST_MSVC)&&(BOOST_MSVC<1300)
-#define BOOST_MULTI_INDEX_LIMIT_COMPOSITE_KEY_SIZE 5
-#else
 #define BOOST_MULTI_INDEX_LIMIT_COMPOSITE_KEY_SIZE 10
 #endif
-#endif
 
 /* maximum number of key extractors in a composite key */
 

Modified: trunk/boost/multi_index/detail/base_type.hpp
==============================================================================
--- trunk/boost/multi_index/detail/base_type.hpp Thu Sep 26 09:02:51 2013 (r85952)
+++ trunk/boost/multi_index/detail/base_type.hpp 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013) (r85953)
@@ -20,7 +20,6 @@
 #include <boost/mpl/size.hpp>
 #include <boost/multi_index/detail/index_base.hpp>
 #include <boost/multi_index/detail/is_index_list.hpp>
-#include <boost/multi_index/detail/msvc_index_specifier.hpp>
 #include <boost/static_assert.hpp>
 
 namespace boost{
@@ -33,17 +32,6 @@
  * a index list.
  */
 
-#if BOOST_WORKAROUND(BOOST_MSVC,<1310)
-struct index_applier
-{
- template<typename IndexSpecifierMeta,typename SuperMeta>
- struct apply:
- msvc_index_specifier<IndexSpecifierMeta::type>::
- template result_index_class<SuperMeta>
- {
- };
-};
-#else
 struct index_applier
 {
   template<typename IndexSpecifierMeta,typename SuperMeta>
@@ -54,7 +42,6 @@
       BOOST_NESTED_TEMPLATE index_class<SuperMeta>::type type;
   };
 };
-#endif
 
 template<int N,typename Value,typename IndexSpecifierList,typename Allocator>
 struct nth_layer

Deleted: trunk/boost/multi_index/detail/msvc_index_specifier.hpp
==============================================================================
--- trunk/boost/multi_index/detail/msvc_index_specifier.hpp 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013) (r85952)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,69 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_MSVC_INDEX_SPECIFIER_HPP
-#define BOOST_MULTI_INDEX_DETAIL_MSVC_INDEX_SPECIFIER_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<1310)
-/* Workaround for a problem in MSVC with dependent template typedefs
- * when accesing index specifiers.
- * Modeled after <boost/mpl/aux_/msvc_dtw.hpp> (thanks, Aleksey!)
- */
-
-#include <boost/mpl/aux_/msvc_never_true.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-template<typename IndexSpecifier>
-struct msvc_index_specifier
-{
- template<bool> struct fake_index_type:IndexSpecifier{};
- template<> struct fake_index_type<true>
- {
- template<typename Super>
- struct node_class{};
-
- template<typename Super>
- struct index_class{};
- };
-
- template<typename Super>
- struct result_node_class:
- fake_index_type<mpl::aux::msvc_never_true<IndexSpecifier>::value>::
- template node_class<Super>
- {
- };
-
- template<typename Super>
- struct result_index_class:
- fake_index_type<mpl::aux::msvc_never_true<IndexSpecifier>::value>::
- template index_class<Super>
- {
- };
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif /* workaround */
-
-#endif

Modified: trunk/boost/multi_index/detail/node_type.hpp
==============================================================================
--- trunk/boost/multi_index/detail/node_type.hpp Thu Sep 26 09:02:51 2013 (r85952)
+++ trunk/boost/multi_index/detail/node_type.hpp 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013) (r85953)
@@ -22,7 +22,6 @@
 #include <boost/multi_index/detail/header_holder.hpp>
 #include <boost/multi_index/detail/index_node_base.hpp>
 #include <boost/multi_index/detail/is_index_list.hpp>
-#include <boost/multi_index/detail/msvc_index_specifier.hpp>
 #include <boost/static_assert.hpp>
 
 namespace boost{
@@ -35,17 +34,6 @@
  * index list.
  */
 
-#if BOOST_WORKAROUND(BOOST_MSVC,<1310)
-struct index_node_applier
-{
- template<typename IndexSpecifierIterator,typename Super>
- struct apply:
- msvc_index_specifier< mpl::deref<IndexSpecifierIterator>::type >::
- template result_node_class<Super>
- {
- };
-};
-#else
 struct index_node_applier
 {
   template<typename IndexSpecifierIterator,typename Super>
@@ -56,7 +44,6 @@
       BOOST_NESTED_TEMPLATE node_class<Super>::type type;
   };
 };
-#endif
 
 template<typename Value,typename IndexSpecifierList,typename Allocator>
 struct multi_index_node_type

Modified: trunk/boost/multi_index/detail/prevent_eti.hpp
==============================================================================
--- trunk/boost/multi_index/detail/prevent_eti.hpp Thu Sep 26 09:02:51 2013 (r85952)
+++ trunk/boost/multi_index/detail/prevent_eti.hpp 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013) (r85953)
@@ -16,40 +16,17 @@
 #include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
 #include <boost/detail/workaround.hpp>
 
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/integral_c.hpp>
-#include <boost/mpl/aux_/msvc_never_true.hpp>
-#endif
-
 namespace boost{
 
 namespace multi_index{
 
 namespace detail{
 
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-/* See
- * http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Effective_MPL
- * Item 5.6, Beware of the 'early template instantiation' trap.
- */
-
-template<typename Type,typename Construct>
-struct prevent_eti
-{
- typedef typename mpl::if_<
- mpl::aux::msvc_never_true<Type>,
- mpl::integral_c<int,0>,
- Construct
- >::type type;
-};
-#else
 template<typename Type,typename Construct>
 struct prevent_eti
 {
   typedef Construct type;
 };
-#endif
 
 } /* namespace multi_index::detail */
 

Deleted: trunk/boost/multi_index/detail/safe_ctr_proxy.hpp
==============================================================================
--- trunk/boost/multi_index/detail/safe_ctr_proxy.hpp 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013) (r85952)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,105 +0,0 @@
-/* Copyright 2003-2008 Joaquin M Lopez Munoz.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- *
- * See http://www.boost.org/libs/multi_index for library home page.
- */
-
-#ifndef BOOST_MULTI_INDEX_DETAIL_SAFE_CTR_PROXY_HPP
-#define BOOST_MULTI_INDEX_DETAIL_SAFE_CTR_PROXY_HPP
-
-#if defined(_MSC_VER)
-#pragma once
-#endif
-
-#if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#include <boost/config.hpp> /* keep it first to prevent nasty warns in MSVC */
-#include <boost/detail/workaround.hpp>
-
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-#include <boost/multi_index/detail/safe_mode.hpp>
-
-namespace boost{
-
-namespace multi_index{
-
-namespace detail{
-
-/* A safe iterator is instantiated in the form
- * safe_iterator<Iterator,Container>: MSVC++ 6.0 has serious troubles with
- * the resulting symbols names, given that index names (which stand for
- * Container) are fairly long themselves. safe_ctr_proxy does not statically
- * depend on Container, and provides the necessary methods (begin and end) to
- * the safe mode framework via an abstract interface. With safe_ctr_proxy,
- * instead of deriving from safe_container<Container> the following base class
- * must be used:
- *
- * safe_ctr_proxy_impl<Iterator,Container>
- *
- * where Iterator is the type of the *unsafe* iterator being wrapped.
- * The corresponding safe iterator instantiation is then
- *
- * safe_iterator<Iterator,safe_ctr_proxy<Iterator> >,
- *
- * which does not include the name of Container.
- */
-
-template<typename Iterator>
-class safe_ctr_proxy:
- public safe_mode::safe_container<safe_ctr_proxy<Iterator> >
-{
-public:
- typedef safe_mode::safe_iterator<Iterator,safe_ctr_proxy> iterator;
- typedef iterator const_iterator;
-
- iterator begin(){return begin_impl();}
- const_iterator begin()const{return begin_impl();}
- iterator end(){return end_impl();}
- const_iterator end()const{return end_impl();}
-
-protected:
- virtual iterator begin_impl()=0;
- virtual const_iterator begin_impl()const=0;
- virtual iterator end_impl()=0;
- virtual const_iterator end_impl()const=0;
-};
-
-template<typename Iterator,typename Container>
-class safe_ctr_proxy_impl:public safe_ctr_proxy<Iterator>
-{
- typedef safe_ctr_proxy<Iterator> super;
- typedef Container container_type;
-
-public:
- typedef typename super::iterator iterator;
- typedef typename super::const_iterator const_iterator;
-
- virtual iterator begin_impl(){return container().begin();}
- virtual const_iterator begin_impl()const{return container().begin();}
- virtual iterator end_impl(){return container().end();}
- virtual const_iterator end_impl()const{return container().end();}
-
-private:
- container_type& container()
- {
- return *static_cast<container_type*>(this);
- }
-
- const container_type& container()const
- {
- return *static_cast<const container_type*>(this);
- }
-};
-
-} /* namespace multi_index::detail */
-
-} /* namespace multi_index */
-
-} /* namespace boost */
-
-#endif /* workaround */
-
-#endif /* BOOST_MULTI_INDEX_ENABLE_SAFE_MODE */
-
-#endif

Modified: trunk/boost/multi_index/detail/unbounded.hpp
==============================================================================
--- trunk/boost/multi_index/detail/unbounded.hpp Thu Sep 26 09:02:51 2013 (r85952)
+++ trunk/boost/multi_index/detail/unbounded.hpp 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013) (r85953)
@@ -22,22 +22,6 @@
 
 /* dummy type and variable for use in ordered_index::range() */
 
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
-/* The default branch actually works for MSVC 6.0, but seems like
- * this implementation of unbounded improves the performance of ordered
- * indices! This behavior is hard to explain and probably a test artifact,
- * but it does not hurt to have the workaround anyway.
- */
-
-namespace detail{struct unbounded_type{};}
-
-namespace{
-
-static detail::unbounded_type unbounded_obj=detail::unbounded_type();
-static detail::unbounded_type& unbounded=unbounded_obj;
-
-} /* unnamed */
-#else
 /* ODR-abiding technique shown at the example attached to
  * http://lists.boost.org/Archives/boost/2006/07/108355.php
  */
@@ -63,7 +47,6 @@
 {
   return detail::unbounded_helper();
 }
-#endif
 
 /* tags used in the implementation of range */
 

Modified: trunk/boost/multi_index/hashed_index.hpp
==============================================================================
--- trunk/boost/multi_index/hashed_index.hpp Thu Sep 26 09:02:51 2013 (r85952)
+++ trunk/boost/multi_index/hashed_index.hpp 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013) (r85953)
@@ -31,7 +31,6 @@
 #include <boost/multi_index/detail/hash_index_iterator.hpp>
 #include <boost/multi_index/detail/index_node_base.hpp>
 #include <boost/multi_index/detail/modify_key_adaptor.hpp>
-#include <boost/multi_index/detail/safe_ctr_proxy.hpp>
 #include <boost/multi_index/detail/safe_mode.hpp>
 #include <boost/multi_index/detail/scope_guard.hpp>
 #include <boost/multi_index/detail/vartempl_support.hpp>
@@ -85,17 +84,9 @@
   BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS SuperMeta::type
 
 #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
- ,public safe_ctr_proxy_impl<
- hashed_index_iterator<
- hashed_index_node<typename SuperMeta::type::node_type>,
- bucket_array<typename SuperMeta::type::final_allocator_type> >,
- hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category> >
-#else
   ,public safe_mode::safe_container<
     hashed_index<KeyFromValue,Hash,Pred,SuperMeta,TagList,Category> >
 #endif
-#endif
 
 {
 #if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\
@@ -139,19 +130,10 @@
   typedef std::ptrdiff_t difference_type;
 
 #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
- typedef safe_mode::safe_iterator<
- hashed_index_iterator<
- node_type,bucket_array_type>,
- safe_ctr_proxy<
- hashed_index_iterator<
- node_type,bucket_array_type> > > iterator;
-#else
   typedef safe_mode::safe_iterator<
     hashed_index_iterator<
       node_type,bucket_array_type>,
     hashed_index> iterator;
-#endif
 #else
   typedef hashed_index_iterator<
     node_type,bucket_array_type> iterator;
@@ -186,16 +168,9 @@
 
 private:
 #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
- typedef safe_ctr_proxy_impl<
- hashed_index_iterator<
- node_type,bucket_array_type>,
- hashed_index> safe_super;
-#else
   typedef safe_mode::safe_container<
     hashed_index> safe_super;
 #endif
-#endif
 
   typedef typename call_traits<value_type>::param_type value_param_type;
   typedef typename call_traits<

Modified: trunk/boost/multi_index/indexed_by.hpp
==============================================================================
--- trunk/boost/multi_index/indexed_by.hpp Thu Sep 26 09:02:51 2013 (r85952)
+++ trunk/boost/multi_index/indexed_by.hpp 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013) (r85953)
@@ -31,12 +31,8 @@
  */
 
 #if !defined(BOOST_MULTI_INDEX_LIMIT_INDEXED_BY_SIZE)
-#if defined(BOOST_MSVC)&&(BOOST_MSVC<1300)
-#define BOOST_MULTI_INDEX_LIMIT_INDEXED_BY_SIZE 5
-#else
 #define BOOST_MULTI_INDEX_LIMIT_INDEXED_BY_SIZE BOOST_MPL_LIMIT_VECTOR_SIZE
 #endif
-#endif
 
 #if BOOST_MULTI_INDEX_LIMIT_INDEXED_BY_SIZE<BOOST_MPL_LIMIT_VECTOR_SIZE
 #define BOOST_MULTI_INDEX_INDEXED_BY_SIZE \

Modified: trunk/boost/multi_index/mem_fun.hpp
==============================================================================
--- trunk/boost/multi_index/mem_fun.hpp Thu Sep 26 09:02:51 2013 (r85952)
+++ trunk/boost/multi_index/mem_fun.hpp 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013) (r85953)
@@ -187,24 +187,12 @@
  * [const_]mem_fun_explicit for MSVC++ 6.0 and to [const_]mem_fun otherwise.
  */
 
-#if defined(BOOST_MSVC)&&(BOOST_MSVC<1300)
-
-#define BOOST_MULTI_INDEX_CONST_MEM_FUN(Class,Type,MemberFunName) \
-::boost::multi_index::const_mem_fun_explicit<\
- Class,Type,Type (Class::*)()const,&Class::MemberFunName >
-#define BOOST_MULTI_INDEX_MEM_FUN(Class,Type,MemberFunName) \
-::boost::multi_index::mem_fun_explicit<\
- Class,Type,Type (Class::*)(),&Class::MemberFunName >
-
-#else
-
+// Obsolete. Remove.
 #define BOOST_MULTI_INDEX_CONST_MEM_FUN(Class,Type,MemberFunName) \
 ::boost::multi_index::const_mem_fun< Class,Type,&Class::MemberFunName >
 #define BOOST_MULTI_INDEX_MEM_FUN(Class,Type,MemberFunName) \
 ::boost::multi_index::mem_fun< Class,Type,&Class::MemberFunName >
 
-#endif
-
 } /* namespace multi_index */
 
 } /* namespace boost */

Modified: trunk/boost/multi_index/ordered_index.hpp
==============================================================================
--- trunk/boost/multi_index/ordered_index.hpp Thu Sep 26 09:02:51 2013 (r85952)
+++ trunk/boost/multi_index/ordered_index.hpp 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013) (r85953)
@@ -58,7 +58,6 @@
 #include <boost/multi_index/detail/modify_key_adaptor.hpp>
 #include <boost/multi_index/detail/ord_index_node.hpp>
 #include <boost/multi_index/detail/ord_index_ops.hpp>
-#include <boost/multi_index/detail/safe_ctr_proxy.hpp>
 #include <boost/multi_index/detail/safe_mode.hpp>
 #include <boost/multi_index/detail/scope_guard.hpp>
 #include <boost/multi_index/detail/unbounded.hpp>
@@ -117,16 +116,9 @@
   BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS SuperMeta::type
 
 #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
- ,public safe_ctr_proxy_impl<
- bidir_node_iterator<
- ordered_index_node<typename SuperMeta::type::node_type> >,
- ordered_index<KeyFromValue,Compare,SuperMeta,TagList,Category> >
-#else
   ,public safe_mode::safe_container<
     ordered_index<KeyFromValue,Compare,SuperMeta,TagList,Category> >
 #endif
-#endif
 
 {
 #if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\
@@ -164,16 +156,9 @@
   typedef typename allocator_type::const_reference const_reference;
 
 #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
- typedef safe_mode::safe_iterator<
- bidir_node_iterator<node_type>,
- safe_ctr_proxy<
- bidir_node_iterator<node_type> > > iterator;
-#else
   typedef safe_mode::safe_iterator<
     bidir_node_iterator<node_type>,
     ordered_index> iterator;
-#endif
 #else
   typedef bidir_node_iterator<node_type> iterator;
 #endif
@@ -213,14 +198,8 @@
 
 private:
 #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
- typedef safe_ctr_proxy_impl<
- bidir_node_iterator<node_type>,
- ordered_index> safe_super;
-#else
   typedef safe_mode::safe_container<ordered_index> safe_super;
 #endif
-#endif
 
   typedef typename call_traits<
     value_type>::param_type value_param_type;

Modified: trunk/boost/multi_index/random_access_index.hpp
==============================================================================
--- trunk/boost/multi_index/random_access_index.hpp Thu Sep 26 09:02:51 2013 (r85952)
+++ trunk/boost/multi_index/random_access_index.hpp 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013) (r85953)
@@ -32,7 +32,6 @@
 #include <boost/multi_index/detail/rnd_index_node.hpp>
 #include <boost/multi_index/detail/rnd_index_ops.hpp>
 #include <boost/multi_index/detail/rnd_index_ptr_array.hpp>
-#include <boost/multi_index/detail/safe_ctr_proxy.hpp>
 #include <boost/multi_index/detail/safe_mode.hpp>
 #include <boost/multi_index/detail/scope_guard.hpp>
 #include <boost/multi_index/detail/vartempl_support.hpp>
@@ -81,16 +80,9 @@
   BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS SuperMeta::type
 
 #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
- ,public safe_ctr_proxy_impl<
- rnd_node_iterator<
- random_access_index_node<typename SuperMeta::type::node_type> >,
- random_access_index<SuperMeta,TagList> >
-#else
   ,public safe_mode::safe_container<
     random_access_index<SuperMeta,TagList> >
 #endif
-#endif
 
 {
 #if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\
@@ -125,16 +117,9 @@
   typedef typename allocator_type::const_reference const_reference;
 
 #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
- typedef safe_mode::safe_iterator<
- rnd_node_iterator<node_type>,
- safe_ctr_proxy<
- rnd_node_iterator<node_type> > > iterator;
-#else
   typedef safe_mode::safe_iterator<
     rnd_node_iterator<node_type>,
     random_access_index> iterator;
-#endif
 #else
   typedef rnd_node_iterator<node_type> iterator;
 #endif
@@ -174,15 +159,9 @@
 
 private:
 #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
- typedef safe_ctr_proxy_impl<
- rnd_node_iterator<node_type>,
- random_access_index> safe_super;
-#else
   typedef safe_mode::safe_container<
     random_access_index> safe_super;
 #endif
-#endif
 
   typedef typename call_traits<
     value_type>::param_type value_param_type;

Modified: trunk/boost/multi_index/sequenced_index.hpp
==============================================================================
--- trunk/boost/multi_index/sequenced_index.hpp Thu Sep 26 09:02:51 2013 (r85952)
+++ trunk/boost/multi_index/sequenced_index.hpp 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013) (r85953)
@@ -29,7 +29,6 @@
 #include <boost/multi_index/detail/bidir_node_iterator.hpp>
 #include <boost/multi_index/detail/do_not_copy_elements_tag.hpp>
 #include <boost/multi_index/detail/index_node_base.hpp>
-#include <boost/multi_index/detail/safe_ctr_proxy.hpp>
 #include <boost/multi_index/detail/safe_mode.hpp>
 #include <boost/multi_index/detail/scope_guard.hpp>
 #include <boost/multi_index/detail/seq_index_node.hpp>
@@ -75,16 +74,9 @@
   BOOST_MULTI_INDEX_PROTECTED_IF_MEMBER_TEMPLATE_FRIENDS SuperMeta::type
 
 #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
- ,public safe_ctr_proxy_impl<
- bidir_node_iterator<
- sequenced_index_node<typename SuperMeta::type::node_type> >,
- sequenced_index<SuperMeta,TagList> >
-#else
   ,public safe_mode::safe_container<
     sequenced_index<SuperMeta,TagList> >
 #endif
-#endif
 
 {
 #if defined(BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING)&&\
@@ -116,16 +108,9 @@
   typedef typename allocator_type::const_reference const_reference;
 
 #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
- typedef safe_mode::safe_iterator<
- bidir_node_iterator<node_type>,
- safe_ctr_proxy<
- bidir_node_iterator<node_type> > > iterator;
-#else
   typedef safe_mode::safe_iterator<
     bidir_node_iterator<node_type>,
     sequenced_index> iterator;
-#endif
 #else
   typedef bidir_node_iterator<node_type> iterator;
 #endif
@@ -165,15 +150,9 @@
 
 private:
 #if defined(BOOST_MULTI_INDEX_ENABLE_SAFE_MODE)
-#if BOOST_WORKAROUND(BOOST_MSVC,<1300)
- typedef safe_ctr_proxy_impl<
- bidir_node_iterator<node_type>,
- sequenced_index> safe_super;
-#else
   typedef safe_mode::safe_container<
     sequenced_index> safe_super;
 #endif
-#endif
 
   typedef typename call_traits<value_type>::param_type value_param_type;
 

Modified: trunk/boost/multi_index/tag.hpp
==============================================================================
--- trunk/boost/multi_index/tag.hpp Thu Sep 26 09:02:51 2013 (r85952)
+++ trunk/boost/multi_index/tag.hpp 2013-09-26 09:04:04 EDT (Thu, 26 Sep 2013) (r85953)
@@ -34,12 +34,8 @@
  */
 
 #if !defined(BOOST_MULTI_INDEX_LIMIT_TAG_SIZE)
-#if defined(BOOST_MSVC)&&(BOOST_MSVC<1300)
-#define BOOST_MULTI_INDEX_LIMIT_TAG_SIZE 3
-#else
 #define BOOST_MULTI_INDEX_LIMIT_TAG_SIZE BOOST_MPL_LIMIT_VECTOR_SIZE
 #endif
-#endif
 
 #if BOOST_MULTI_INDEX_LIMIT_TAG_SIZE<BOOST_MPL_LIMIT_VECTOR_SIZE
 #define BOOST_MULTI_INDEX_TAG_SIZE BOOST_MULTI_INDEX_LIMIT_TAG_SIZE


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk