summaryrefslogtreecommitdiff
path: root/boost/archive/basic_xml_iarchive.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/archive/basic_xml_iarchive.hpp')
-rw-r--r--boost/archive/basic_xml_iarchive.hpp24
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