diff --git a/include/boost/tuple/detail/tuple_basic_no_partial_spec.hpp b/include/boost/tuple/detail/tuple_basic_no_partial_spec.hpp index 7379bf8..0a22cde 100644 --- a/include/boost/tuple/detail/tuple_basic_no_partial_spec.hpp +++ b/include/boost/tuple/detail/tuple_basic_no_partial_spec.hpp @@ -103,14 +103,8 @@ namespace tuples { template struct init_tail { - // Each of vc6 and vc7 seem to require a different formulation - // of this return type template -#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) - static typename add_reference::type>::type -#else static typename add_const_reference::type -#endif execute( cons const& u, long ) { return u.get_tail(); @@ -313,59 +307,6 @@ namespace tuples { }; namespace detail { - -#if defined(BOOST_MSVC) && (BOOST_MSVC == 1300) - // special workaround for vc7: - - template - struct reference_adder - { - template - struct rebind - { - typedef T& type; - }; - }; - - template <> - struct reference_adder - { - template - struct rebind - { - typedef T type; - }; - }; - - - // Return a reference to the Nth type of the given Tuple - template - struct element_ref - { - private: - typedef typename element::RET elt_type; - enum { is_ref = is_reference::value }; - - public: - typedef reference_adder::rebind::type RET; - typedef RET type; - }; - - // Return a const reference to the Nth type of the given Tuple - template - struct element_const_ref - { - private: - typedef typename element::RET elt_type; - enum { is_ref = is_reference::value }; - - public: - typedef reference_adder::rebind::type RET; - typedef RET type; - }; - -#else // vc7 - // Return a reference to the Nth type of the given Tuple template struct element_ref @@ -389,8 +330,6 @@ namespace tuples { typedef typename add_reference::type RET; typedef RET type; }; -#endif // vc7 - } // namespace detail // Get length of this tuple