summaryrefslogtreecommitdiff
path: root/boost/archive/xml_oarchive.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/archive/xml_oarchive.hpp')
-rw-r--r--boost/archive/xml_oarchive.hpp52
1 files changed, 23 insertions, 29 deletions
diff --git a/boost/archive/xml_oarchive.hpp b/boost/archive/xml_oarchive.hpp
index c5e6da9271..eea1268037 100644
--- a/boost/archive/xml_oarchive.hpp
+++ b/boost/archive/xml_oarchive.hpp
@@ -55,21 +55,10 @@ class BOOST_SYMBOL_VISIBLE xml_oarchive_impl :
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_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
+ friend class detail::interface_oarchive<Archive>;
+ friend class basic_xml_oarchive<Archive>;
+ friend class save_access;
#endif
- //void end_preamble(){
- // basic_xml_oarchive<Archive>::end_preamble();
- //}
template<class T>
void save(const T & t){
basic_text_oprimitive<std::ostream>::save(t);
@@ -96,22 +85,29 @@ protected:
#endif
BOOST_ARCHIVE_DECL
xml_oarchive_impl(std::ostream & os, unsigned int flags);
- ~xml_oarchive_impl(){}
+ BOOST_ARCHIVE_DECL
+ ~xml_oarchive_impl();
public:
- void save_binary(const void *address, std::size_t count){
- this->end_preamble();
- #if ! defined(__MWERKS__)
- this->basic_text_oprimitive<std::ostream>::save_binary(
- #else
- this->basic_text_oprimitive::save_binary(
- #endif
- address,
- count
- );
- this->indent_next = true;
- }
+ BOOST_ARCHIVE_DECL
+ void save_binary(const void *address, std::size_t count);
};
+} // namespace archive
+} // namespace boost
+
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
+namespace boost {
+namespace archive {
+
// we use the following because we can't use
// typedef xml_oarchive_impl<xml_oarchive_impl<...> > xml_oarchive;
@@ -138,6 +134,4 @@ BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_oarchive)
#pragma warning(pop)
#endif
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
-
#endif // BOOST_ARCHIVE_XML_OARCHIVE_HPP