diff options
Diffstat (limited to 'boost/archive/basic_xml_iarchive.hpp')
-rw-r--r-- | boost/archive/basic_xml_iarchive.hpp | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/boost/archive/basic_xml_iarchive.hpp b/boost/archive/basic_xml_iarchive.hpp index 7834d8a100..a882df5615 100644 --- a/boost/archive/basic_xml_iarchive.hpp +++ b/boost/archive/basic_xml_iarchive.hpp @@ -17,15 +17,12 @@ // See http://www.boost.org for updates, documentation, and revision history. #include <boost/config.hpp> -#include <boost/detail/workaround.hpp> +#include <boost/mpl/assert.hpp> #include <boost/archive/detail/common_iarchive.hpp> - #include <boost/serialization/nvp.hpp> #include <boost/serialization/string.hpp> -#include <boost/mpl/assert.hpp> - #include <boost/archive/detail/abi_prefix.hpp> // must be the last header #ifdef BOOST_MSVC @@ -41,24 +38,18 @@ namespace detail { } // namespace detail ///////////////////////////////////////////////////////////////////////// -// class xml_iarchive - read serialized objects from a input text stream +// class basic_xml_iarchive - read serialized objects from a input text stream template<class Archive> class BOOST_SYMBOL_VISIBLE basic_xml_iarchive : public detail::common_iarchive<Archive> { + unsigned int depth; #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS public: #else protected: - #if BOOST_WORKAROUND(BOOST_MSVC, < 1500) - // for some inexplicable reason insertion of "class" generates compile erro - // on msvc 7.1 - friend detail::interface_iarchive<Archive>; - #else - friend class detail::interface_iarchive<Archive>; - #endif + friend class detail::interface_iarchive<Archive>; #endif - unsigned int depth; BOOST_ARCHIVE_OR_WARCHIVE_DECL void load_start(const char *name); BOOST_ARCHIVE_OR_WARCHIVE_DECL void @@ -96,14 +87,15 @@ protected: // an xml archive. So we can skip it here. Note: we MUST override // it otherwise it will be loaded as a normal primitive w/o tag and // leaving the archive in an undetermined state - void load_override(class_id_optional_type & /* t */){} + 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 */){} BOOST_ARCHIVE_OR_WARCHIVE_DECL void load_override(object_id_type & t); BOOST_ARCHIVE_OR_WARCHIVE_DECL void load_override(version_type & t); BOOST_ARCHIVE_OR_WARCHIVE_DECL void - load_override(class_id_type & t); - BOOST_ARCHIVE_OR_WARCHIVE_DECL void load_override(tracking_type & t); // class_name_type can't be handled here as it depends upon the // char type used by the stream. So require the derived implementation |