diff options
Diffstat (limited to 'boost/archive')
-rw-r--r-- | boost/archive/basic_binary_iprimitive.hpp | 2 | ||||
-rw-r--r-- | boost/archive/basic_binary_oprimitive.hpp | 2 | ||||
-rw-r--r-- | boost/archive/basic_text_oprimitive.hpp | 2 | ||||
-rw-r--r-- | boost/archive/basic_xml_iarchive.hpp | 3 | ||||
-rw-r--r-- | boost/archive/detail/iserializer.hpp | 11 | ||||
-rw-r--r-- | boost/archive/detail/oserializer.hpp | 12 | ||||
-rw-r--r-- | boost/archive/detail/utf8_codecvt_facet.hpp | 15 | ||||
-rw-r--r-- | boost/archive/iterators/mb_from_wchar.hpp | 1 |
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> |