Imported Upstream version 1.57.0
[platform/upstream/boost.git] / boost / serialization / base_object.hpp
index b840d25..562dbd5 100644 (file)
@@ -2,7 +2,7 @@
 #define BOOST_SERIALIZATION_BASE_OBJECT_HPP
 
 // MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#if defined(_MSC_VER)
 # pragma once
 #endif
 
@@ -48,7 +48,7 @@ namespace detail
     template<class B, class D>
     struct base_cast
     {
-        typedef BOOST_DEDUCED_TYPENAME
+        typedef typename
         mpl::if_<
             is_const<D>,
             const B,
@@ -74,7 +74,7 @@ namespace detail
             }
         };
         static void const * invoke(){
-            typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<
+            typedef typename mpl::eval_if<
                 is_polymorphic<Base>,
                 mpl::identity<polymorphic>,
                 mpl::identity<non_polymorphic>
@@ -95,12 +95,12 @@ base_object(const Derived & d)
 }
 #else
 template<class Base, class Derived>
-BOOST_DEDUCED_TYPENAME detail::base_cast<Base, Derived>::type & 
+typename detail::base_cast<Base, Derived>::type & 
 base_object(Derived &d)
 {
     BOOST_STATIC_ASSERT(( is_base_and_derived<Base,Derived>::value));
     BOOST_STATIC_ASSERT(! is_pointer<Derived>::value);
-    typedef BOOST_DEDUCED_TYPENAME detail::base_cast<Base, Derived>::type type;
+    typedef typename detail::base_cast<Base, Derived>::type type;
     detail::base_register<type, Derived>::invoke();
     return access::cast_reference<type, Derived>(d);
 }