summaryrefslogtreecommitdiff
path: root/boost/archive
diff options
context:
space:
mode:
Diffstat (limited to 'boost/archive')
-rw-r--r--boost/archive/basic_binary_iprimitive.hpp2
-rw-r--r--boost/archive/basic_binary_oprimitive.hpp2
-rw-r--r--boost/archive/basic_text_oprimitive.hpp2
-rw-r--r--boost/archive/basic_xml_iarchive.hpp3
-rw-r--r--boost/archive/detail/iserializer.hpp11
-rw-r--r--boost/archive/detail/oserializer.hpp12
-rw-r--r--boost/archive/detail/utf8_codecvt_facet.hpp15
-rw-r--r--boost/archive/iterators/mb_from_wchar.hpp1
8 files changed, 33 insertions, 15 deletions
diff --git a/boost/archive/basic_binary_iprimitive.hpp b/boost/archive/basic_binary_iprimitive.hpp
index 40f45d9c2f..665d3e81e1 100644
--- a/boost/archive/basic_binary_iprimitive.hpp
+++ b/boost/archive/basic_binary_iprimitive.hpp
@@ -50,7 +50,7 @@ namespace std{
//#include <boost/mpl/placeholders.hpp>
#include <boost/serialization/is_bitwise_serializable.hpp>
-#include <boost/serialization/array.hpp>
+#include <boost/serialization/array_wrapper.hpp>
#include <boost/archive/basic_streambuf_locale_saver.hpp>
#include <boost/archive/codecvt_null.hpp>
diff --git a/boost/archive/basic_binary_oprimitive.hpp b/boost/archive/basic_binary_oprimitive.hpp
index 4b7f454b25..6dc770c60e 100644
--- a/boost/archive/basic_binary_oprimitive.hpp
+++ b/boost/archive/basic_binary_oprimitive.hpp
@@ -45,7 +45,7 @@ namespace std{
//#include <boost/mpl/placeholders.hpp>
#include <boost/serialization/is_bitwise_serializable.hpp>
-#include <boost/serialization/array.hpp>
+#include <boost/serialization/array_wrapper.hpp>
#include <boost/archive/basic_streambuf_locale_saver.hpp>
#include <boost/archive/codecvt_null.hpp>
diff --git a/boost/archive/basic_text_oprimitive.hpp b/boost/archive/basic_text_oprimitive.hpp
index c9f8c59160..45f09358ec 100644
--- a/boost/archive/basic_text_oprimitive.hpp
+++ b/boost/archive/basic_text_oprimitive.hpp
@@ -175,8 +175,6 @@ protected:
template<class T>
void save(const T & t){
- boost::io::ios_flags_saver fs(os);
- boost::io::ios_precision_saver ps(os);
typename is_float<T>::type tf;
save_impl(t, tf);
}
diff --git a/boost/archive/basic_xml_iarchive.hpp b/boost/archive/basic_xml_iarchive.hpp
index a882df5615..e9f7482f74 100644
--- a/boost/archive/basic_xml_iarchive.hpp
+++ b/boost/archive/basic_xml_iarchive.hpp
@@ -89,8 +89,7 @@ protected:
// leaving the archive in an undetermined state
BOOST_ARCHIVE_OR_WARCHIVE_DECL void
load_override(class_id_type & t);
- BOOST_ARCHIVE_OR_WARCHIVE_DECL void
- load_override(class_id_optional_type & /* t */){}
+ void load_override(class_id_optional_type & /* t */){}
BOOST_ARCHIVE_OR_WARCHIVE_DECL void
load_override(object_id_type & t);
BOOST_ARCHIVE_OR_WARCHIVE_DECL void
diff --git a/boost/archive/detail/iserializer.hpp b/boost/archive/detail/iserializer.hpp
index 6bec499bd2..6e02eec7c4 100644
--- a/boost/archive/detail/iserializer.hpp
+++ b/boost/archive/detail/iserializer.hpp
@@ -77,10 +77,10 @@ namespace std{
#include <boost/serialization/type_info_implementation.hpp>
#include <boost/serialization/nvp.hpp>
#include <boost/serialization/void_cast.hpp>
-#include <boost/serialization/array.hpp>
#include <boost/serialization/collection_size_type.hpp>
#include <boost/serialization/singleton.hpp>
#include <boost/serialization/wrapper.hpp>
+#include <boost/serialization/array_wrapper.hpp>
// the following is need only for dynamic cast of polymorphic pointers
#include <boost/archive/archive_exception.hpp>
@@ -588,7 +588,14 @@ struct load_array_type {
boost::archive::archive_exception::array_size_too_short
)
);
- ar >> serialization::make_array(static_cast<value_type*>(&t[0]),count);
+ // explict template arguments to pass intel C++ compiler
+ ar >> serialization::make_array<
+ value_type,
+ boost::serialization::collection_size_type
+ >(
+ static_cast<value_type *>(&t[0]),
+ count
+ );
}
};
diff --git a/boost/archive/detail/oserializer.hpp b/boost/archive/detail/oserializer.hpp
index 0f2e733c58..c120ec5507 100644
--- a/boost/archive/detail/oserializer.hpp
+++ b/boost/archive/detail/oserializer.hpp
@@ -56,8 +56,9 @@
#include <boost/serialization/type_info_implementation.hpp>
#include <boost/serialization/nvp.hpp>
#include <boost/serialization/void_cast.hpp>
-#include <boost/serialization/array.hpp>
#include <boost/serialization/collection_size_type.hpp>
+#include <boost/serialization/array_wrapper.hpp>
+
#include <boost/serialization/singleton.hpp>
#include <boost/archive/archive_exception.hpp>
@@ -501,7 +502,14 @@ struct save_array_type
);
boost::serialization::collection_size_type count(c);
ar << BOOST_SERIALIZATION_NVP(count);
- ar << serialization::make_array(static_cast<value_type const*>(&t[0]),count);
+ // explict template arguments to pass intel C++ compiler
+ ar << serialization::make_array<
+ const value_type,
+ boost::serialization::collection_size_type
+ >(
+ static_cast<const value_type *>(&t[0]),
+ count
+ );
}
};
diff --git a/boost/archive/detail/utf8_codecvt_facet.hpp b/boost/archive/detail/utf8_codecvt_facet.hpp
index dfbec6bdfd..a40104abea 100644
--- a/boost/archive/detail/utf8_codecvt_facet.hpp
+++ b/boost/archive/detail/utf8_codecvt_facet.hpp
@@ -9,11 +9,14 @@
#include <boost/config.hpp>
-// std::codecvt_utf8 doesn't seem to work for msvc
-// versions prior to MSVC 14.0
+#ifdef BOOST_NO_STD_WSTREAMBUF
+#error "wide char i/o not supported on this platform"
+#endif
-#if defined(_MSC_VER) && _MSC_VER < 1900 \
-|| defined( BOOST_NO_CXX11_HDR_CODECVT )
+// std::codecvt_utf8 doesn't seem to work for any versions of msvc
+
+#if defined(_MSC_VER) || defined(BOOST_NO_CXX11_HDR_CODECVT)
+ // use boost's utf8 codecvt facet
#include <boost/archive/detail/decl.hpp>
#define BOOST_UTF8_BEGIN_NAMESPACE \
namespace boost { namespace archive { namespace detail {
@@ -26,9 +29,11 @@
#undef BOOST_UTF8_DECL
#undef BOOST_UTF8_BEGIN_NAMESPACE
#else
+ // use the standard vendor supplied facet
#include <codecvt>
namespace boost { namespace archive { namespace detail {
typedef std::codecvt_utf8<wchar_t> utf8_codecvt_facet;
} } }
-#endif // BOOST_NO_CXX11_HDR_CODECVT
+#endif
+
#endif // BOOST_ARCHIVE_DETAIL_UTF8_CODECVT_FACET_HPP
diff --git a/boost/archive/iterators/mb_from_wchar.hpp b/boost/archive/iterators/mb_from_wchar.hpp
index d5110de28a..b6dc9b2151 100644
--- a/boost/archive/iterators/mb_from_wchar.hpp
+++ b/boost/archive/iterators/mb_from_wchar.hpp
@@ -26,6 +26,7 @@ namespace std{
using ::mbstate_t;
} // namespace std
#endif
+
#include <boost/archive/detail/utf8_codecvt_facet.hpp>
#include <boost/iterator/iterator_adaptor.hpp>