summaryrefslogtreecommitdiff
path: root/boost/serialization/variant.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/serialization/variant.hpp')
-rw-r--r--boost/serialization/variant.hpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/boost/serialization/variant.hpp b/boost/serialization/variant.hpp
index 9c8ea9d931..70e395e211 100644
--- a/boost/serialization/variant.hpp
+++ b/boost/serialization/variant.hpp
@@ -2,14 +2,10 @@
#define BOOST_SERIALIZATION_VARIANT_HPP
// MS compatible compilers support #pragma once
-#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#if defined(_MSC_VER)
# pragma once
#endif
-#if defined(_MSC_VER) && (_MSC_VER <= 1020)
-# pragma warning (disable : 4786) // too long name, harmless warning
-#endif
-
/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
// variant.hpp - non-intrusive serialization of variant types
//
@@ -70,7 +66,7 @@ void save(
){
int which = v.which();
ar << BOOST_SERIALIZATION_NVP(which);
- typedef BOOST_DEDUCED_TYPENAME boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>::types types;
+ typedef typename boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>::types types;
variant_save_visitor<Archive> visitor(ar);
v.apply_visitor(visitor);
}
@@ -101,14 +97,14 @@ struct variant_impl {
// necessary has to copy the value. This wouldn't be necessary
// with an implementation that de-serialized to the address of the
// aligned storage included in the variant.
- typedef BOOST_DEDUCED_TYPENAME mpl::front<S>::type head_type;
+ typedef typename mpl::front<S>::type head_type;
head_type value;
ar >> BOOST_SERIALIZATION_NVP(value);
v = value;
ar.reset_object_address(& boost::get<head_type>(v), & value);
return;
}
- typedef BOOST_DEDUCED_TYPENAME mpl::pop_front<S>::type type;
+ typedef typename mpl::pop_front<S>::type type;
variant_impl<type>::load(ar, which - 1, v, version);
}
};
@@ -120,7 +116,7 @@ struct variant_impl {
V & v,
const unsigned int version
){
- typedef BOOST_DEDUCED_TYPENAME mpl::eval_if<mpl::empty<S>,
+ typedef typename mpl::eval_if<mpl::empty<S>,
mpl::identity<load_null>,
mpl::identity<load_impl>
>::type typex;
@@ -136,7 +132,7 @@ void load(
const unsigned int version
){
int which;
- typedef BOOST_DEDUCED_TYPENAME boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>::types types;
+ typedef typename boost::variant<BOOST_VARIANT_ENUM_PARAMS(T)>::types types;
ar >> BOOST_SERIALIZATION_NVP(which);
if(which >= mpl::size<types>::value)
// this might happen if a type was removed from the list of variant types