Mercurial > hg > vamp-build-and-test
diff DEPENDENCIES/generic/include/boost/archive/xml_woarchive.hpp @ 101:c530137014c0
Update Boost headers (1.58.0)
author | Chris Cannam |
---|---|
date | Mon, 07 Sep 2015 11:12:49 +0100 |
parents | 2665513ce2d3 |
children |
line wrap: on
line diff
--- a/DEPENDENCIES/generic/include/boost/archive/xml_woarchive.hpp Fri Sep 04 12:01:02 2015 +0100 +++ b/DEPENDENCIES/generic/include/boost/archive/xml_woarchive.hpp Mon Sep 07 11:12:49 2015 +0100 @@ -2,7 +2,7 @@ #define BOOST_ARCHIVE_XML_WOARCHIVE_HPP // MS compatible compilers support #pragma once -#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#if defined(_MSC_VER) # pragma once #endif @@ -30,12 +30,22 @@ #include <ostream> +#include <boost/smart_ptr/scoped_ptr.hpp> #include <boost/archive/detail/auto_link_warchive.hpp> #include <boost/archive/basic_text_oprimitive.hpp> #include <boost/archive/basic_xml_oarchive.hpp> #include <boost/archive/detail/register_archive.hpp> #include <boost/serialization/item_version_type.hpp> +#ifdef BOOST_NO_CXX11_HDR_CODECVT + #include <boost/archive/detail/utf8_codecvt_facet.hpp> +#else + #include <codecvt> + namespace boost { namespace archive { namespace detail { + typedef std::codecvt_utf8<wchar_t> utf8_codecvt_facet; + } } } +#endif + #include <boost/archive/detail/abi_prefix.hpp> // must be the last header #ifdef BOOST_MSVC @@ -46,6 +56,10 @@ namespace boost { namespace archive { +namespace detail { + template<class Archive> class interface_oarchive; +} // namespace detail + template<class Archive> class xml_woarchive_impl : public basic_text_oprimitive<std::wostream>, @@ -54,10 +68,18 @@ #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS public: #else - friend class detail::interface_oarchive<Archive>; - friend class basic_xml_oarchive<Archive>; - friend class save_access; protected: + #if BOOST_WORKAROUND(BOOST_MSVC, < 1500) + // for some inexplicable reason insertion of "class" generates compile erro + // on msvc 7.1 + friend detail::interface_oarchive<Archive>; + friend basic_xml_oarchive<Archive>; + friend save_access; + #else + friend class detail::interface_oarchive<Archive>; + friend class basic_xml_oarchive<Archive>; + friend class save_access; + #endif #endif //void end_preamble(){ // basic_xml_oarchive<Archive>::end_preamble(); @@ -89,7 +111,8 @@ #endif BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) xml_woarchive_impl(std::wostream & os, unsigned int flags); - ~xml_woarchive_impl(){} + BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) + ~xml_woarchive_impl(); public: void save_binary(const void *address, std::size_t count){ @@ -122,8 +145,6 @@ ~xml_woarchive(){} }; -typedef xml_woarchive naked_xml_woarchive; - } // namespace archive } // namespace boost