Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r58149 - in branches/release/boost/archive: . detail impl iterators
From: ramey_at_[hidden]
Date: 2009-12-05 01:32:06


Author: ramey
Date: 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
New Revision: 58149
URL: http://svn.boost.org/trac/boost/changeset/58149

Log:
Merge changes to release branch
Properties modified:
   branches/release/boost/archive/ (props changed)
Text files modified:
   branches/release/boost/archive/basic_archive.hpp | 36 ++++++++++++++++++++++++++----------
   branches/release/boost/archive/basic_binary_iarchive.hpp | 9 +++++++++
   branches/release/boost/archive/basic_binary_iprimitive.hpp | 10 ++++++----
   branches/release/boost/archive/basic_binary_oarchive.hpp | 15 ++++++++++++++-
   branches/release/boost/archive/basic_binary_oprimitive.hpp | 7 ++++---
   branches/release/boost/archive/basic_streambuf_locale_saver.hpp | 15 ++++++++++++++-
   branches/release/boost/archive/basic_text_iarchive.hpp | 9 +++++++++
   branches/release/boost/archive/basic_text_iprimitive.hpp | 7 +++++--
   branches/release/boost/archive/basic_text_oarchive.hpp | 9 +++++++++
   branches/release/boost/archive/basic_text_oprimitive.hpp | 11 ++++++-----
   branches/release/boost/archive/basic_xml_iarchive.hpp | 9 +++++++++
   branches/release/boost/archive/basic_xml_oarchive.hpp | 9 +++++++++
   branches/release/boost/archive/binary_iarchive.hpp | 9 +++++++++
   branches/release/boost/archive/binary_iarchive_impl.hpp | 9 +++++++++
   branches/release/boost/archive/binary_oarchive.hpp | 10 ++++++++++
   branches/release/boost/archive/binary_oarchive_impl.hpp | 10 ++++++++++
   branches/release/boost/archive/codecvt_null.hpp | 8 ++++++++
   branches/release/boost/archive/detail/basic_iarchive.hpp | 7 +++++--
   branches/release/boost/archive/detail/basic_iserializer.hpp | 13 +++++++++++--
   branches/release/boost/archive/detail/basic_oarchive.hpp | 7 +++++--
   branches/release/boost/archive/detail/basic_oserializer.hpp | 14 ++++++++++++--
   branches/release/boost/archive/detail/basic_pointer_iserializer.hpp | 11 ++++++++++-
   branches/release/boost/archive/detail/basic_pointer_oserializer.hpp | 14 ++++++++++++--
   branches/release/boost/archive/detail/basic_serializer.hpp | 9 +++++++++
   branches/release/boost/archive/detail/check.hpp | 10 +++++-----
   branches/release/boost/archive/detail/common_iarchive.hpp | 11 +++++++++++
   branches/release/boost/archive/detail/common_oarchive.hpp | 11 +++++++++++
   branches/release/boost/archive/detail/iserializer.hpp | 26 ++++++++++++++++++++++----
   branches/release/boost/archive/detail/oserializer.hpp | 28 +++++++++++++++++++++++-----
   branches/release/boost/archive/detail/polymorphic_iarchive_route.hpp | 15 +++++++++++----
   branches/release/boost/archive/detail/polymorphic_oarchive_route.hpp | 13 ++++++++++---
   branches/release/boost/archive/impl/archive_serializer_map.ipp | 9 +++++++++
   branches/release/boost/archive/impl/basic_text_iarchive.ipp | 4 ++--
   branches/release/boost/archive/impl/basic_text_iprimitive.ipp | 12 ++++++------
   branches/release/boost/archive/impl/basic_text_oprimitive.ipp | 2 +-
   branches/release/boost/archive/impl/xml_iarchive_impl.ipp | 4 +++-
   branches/release/boost/archive/impl/xml_wiarchive_impl.ipp | 4 +++-
   branches/release/boost/archive/iterators/escape.hpp | 2 +-
   branches/release/boost/archive/iterators/istream_iterator.hpp | 2 +-
   branches/release/boost/archive/iterators/unescape.hpp | 11 ++++-------
   branches/release/boost/archive/iterators/xml_unescape.hpp | 16 +++++++++++++---
   branches/release/boost/archive/polymorphic_binary_iarchive.hpp | 9 +++++++++
   branches/release/boost/archive/polymorphic_iarchive.hpp | 2 +-
   branches/release/boost/archive/polymorphic_text_iarchive.hpp | 9 +++++++++
   branches/release/boost/archive/polymorphic_text_wiarchive.hpp | 9 +++++++++
   branches/release/boost/archive/polymorphic_xml_iarchive.hpp | 9 +++++++++
   branches/release/boost/archive/shared_ptr_helper.hpp | 13 +++++++------
   branches/release/boost/archive/text_iarchive.hpp | 18 ++++++++++++++++++
   branches/release/boost/archive/text_oarchive.hpp | 10 +++++++++-
   branches/release/boost/archive/text_wiarchive.hpp | 18 ++++++++++++++++++
   branches/release/boost/archive/text_woarchive.hpp | 13 +++++++++++--
   branches/release/boost/archive/xml_iarchive.hpp | 18 ++++++++++++++++++
   branches/release/boost/archive/xml_oarchive.hpp | 9 +++++++++
   branches/release/boost/archive/xml_wiarchive.hpp | 19 +++++++++++++++++++
   branches/release/boost/archive/xml_woarchive.hpp | 9 +++++++++
   55 files changed, 521 insertions(+), 91 deletions(-)

Modified: branches/release/boost/archive/basic_archive.hpp
==============================================================================
--- branches/release/boost/archive/basic_archive.hpp (original)
+++ branches/release/boost/archive/basic_archive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -17,22 +17,36 @@
 // See http://www.boost.org for updates, documentation, and revision history.
 
 #include <boost/config.hpp>
-#include <boost/serialization/strong_typedef.hpp>
+#include <boost/cstdint.hpp>
 #include <boost/noncopyable.hpp>
+#include <boost/integer_traits.hpp>
+#include <boost/serialization/strong_typedef.hpp>
 
 #include <boost/archive/detail/auto_link_archive.hpp>
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
+#define BOOST_ARCHIVE_STRONG_TYPEDEF(T, D) \
+namespace boost { \
+namespace archive { \
+BOOST_STRONG_TYPEDEF(T, D) \
+} /* archive */ \
+template<> \
+class integer_traits<boost::archive::D> : \
+ public integer_traits<boost::T> \
+{}; \
+} /* boost */ \
+/**/
+
+BOOST_ARCHIVE_STRONG_TYPEDEF(uint_least16_t, version_type)
+BOOST_ARCHIVE_STRONG_TYPEDEF(int_least16_t, class_id_type)
+BOOST_ARCHIVE_STRONG_TYPEDEF(int_least16_t, class_id_optional_type)
+BOOST_ARCHIVE_STRONG_TYPEDEF(int_least16_t, class_id_reference_type)
+BOOST_ARCHIVE_STRONG_TYPEDEF(uint_least32_t, object_id_type)
+BOOST_ARCHIVE_STRONG_TYPEDEF(uint_least32_t, object_reference_type)
+
 namespace boost {
 namespace archive {
 
-BOOST_STRONG_TYPEDEF(unsigned int, version_type)
-BOOST_STRONG_TYPEDEF(int, class_id_type)
-BOOST_STRONG_TYPEDEF(int, class_id_optional_type)
-BOOST_STRONG_TYPEDEF(int, class_id_reference_type)
-BOOST_STRONG_TYPEDEF(unsigned int, object_id_type)
-BOOST_STRONG_TYPEDEF(unsigned int, object_reference_type)
-
 struct tracking_type {
 // typedef bool value_type;
     bool t;
@@ -64,7 +78,9 @@
     }
 };
 
-struct class_name_type : private boost::noncopyable {
+struct class_name_type :
+ private boost::noncopyable
+{
     char *t;
     operator const char * & () const {
         return const_cast<const char * &>(t);
@@ -95,7 +111,7 @@
 BOOST_ARCHIVE_DECL(const char *)
 BOOST_ARCHIVE_SIGNATURE();
 
-BOOST_ARCHIVE_DECL(unsigned char)
+BOOST_ARCHIVE_DECL(version_type)
 BOOST_ARCHIVE_VERSION();
 
 }// namespace archive

Modified: branches/release/boost/archive/basic_binary_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/basic_binary_iarchive.hpp (original)
+++ branches/release/boost/archive/basic_binary_iarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -31,6 +31,11 @@
 #include <boost/serialization/collection_size_type.hpp>
 #include <boost/serialization/string.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
 namespace boost {
@@ -127,6 +132,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_ARCHIVE_BASIC_BINARY_IARCHIVE_HPP

Modified: branches/release/boost/archive/basic_binary_iprimitive.hpp
==============================================================================
--- branches/release/boost/archive/basic_binary_iprimitive.hpp (original)
+++ branches/release/boost/archive/basic_binary_iprimitive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -46,8 +46,8 @@
 #include <boost/cstdint.hpp>
 #include <boost/scoped_ptr.hpp>
 #include <boost/serialization/throw_exception.hpp>
-//#include <boost/limits.hpp>
-//#include <boost/io/ios_state.hpp>
+#include <boost/integer.hpp>
+#include <boost/integer_traits.hpp>
 
 #include <boost/archive/basic_streambuf_locale_saver.hpp>
 #include <boost/archive/archive_exception.hpp>
@@ -151,7 +151,8 @@
     std::size_t count
 ){
     // note: an optimizer should eliminate the following for char files
- std::streamsize s = count / sizeof(Elem);
+ assert(count / sizeof(Elem) <= boost::integer_traits<std::streamsize>::const_max);
+ std::streamsize s = static_cast<std::streamsize>(count / sizeof(Elem));
     std::streamsize scount = m_sb.sgetn(
         static_cast<Elem *>(address),
         s
@@ -161,7 +162,8 @@
             archive_exception(archive_exception::stream_error)
         );
     // note: an optimizer should eliminate the following for char files
- s = count % sizeof(Elem);
+ assert(count % sizeof(Elem) <= boost::integer_traits<std::streamsize>::const_max);
+ s = static_cast<std::streamsize>(count % sizeof(Elem));
     if(0 < s){
 // if(is.fail())
 // boost::serialization::throw_exception(

Modified: branches/release/boost/archive/basic_binary_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/basic_binary_oarchive.hpp (original)
+++ branches/release/boost/archive/basic_binary_oarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -35,6 +35,13 @@
 #include <boost/serialization/string.hpp>
 #include <boost/serialization/collection_size_type.hpp>
 
+#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
+
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -86,7 +93,7 @@
     void save_override(const class_id_reference_type & t, int){
         // upto 32K classes
         assert(t.t <= boost::integer_traits<boost::int_least16_t>::const_max);
- const boost::uint_least16_t x = t.t;
+ const boost::int_least16_t x = t.t;
         * this->This() << x;
     }
     void save_override(const object_id_type & t, int){
@@ -129,4 +136,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
+#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+
 #endif // BOOST_ARCHIVE_BASIC_BINARY_OARCHIVE_HPP

Modified: branches/release/boost/archive/basic_binary_oprimitive.hpp
==============================================================================
--- branches/release/boost/archive/basic_binary_oprimitive.hpp (original)
+++ branches/release/boost/archive/basic_binary_oprimitive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -38,8 +38,8 @@
 #endif
 
 #include <boost/cstdint.hpp>
-//#include <boost/limits.hpp>
-//#include <boost/io/ios_state.hpp>
+#include <boost/integer.hpp>
+#include <boost/integer_traits.hpp>
 #include <boost/scoped_ptr.hpp>
 #include <boost/serialization/throw_exception.hpp>
 
@@ -160,9 +160,10 @@
     // figure number of elements to output - round up
     count = ( count + sizeof(Elem) - 1)
         / sizeof(Elem);
+ assert(count <= boost::integer_traits<std::streamsize>::const_max);
     std::streamsize scount = m_sb.sputn(
         static_cast<const Elem *>(address),
- count
+ static_cast<std::streamsize>(count)
     );
     if(count != static_cast<std::size_t>(scount))
         boost::serialization::throw_exception(

Modified: branches/release/boost/archive/basic_streambuf_locale_saver.hpp
==============================================================================
--- branches/release/boost/archive/basic_streambuf_locale_saver.hpp (original)
+++ branches/release/boost/archive/basic_streambuf_locale_saver.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -29,11 +29,20 @@
 #include <locale> // for std::locale
 #include <streambuf> // for std::basic_streambuf
 
+#include <boost/config.hpp>
+#include <boost/noncopyable.hpp>
+
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost{
 namespace archive{
 
 template < typename Ch, class Tr >
-class basic_streambuf_locale_saver
+class basic_streambuf_locale_saver :
+ private boost::noncopyable
 {
 public:
     typedef ::std::basic_streambuf<Ch, Tr> state_type;
@@ -56,5 +65,9 @@
 } // archive
 } // boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #endif // BOOST_NO_STD_LOCALE
 #endif // BOOST_ARCHIVE_BASIC_STREAMBUF_LOCALE_SAVER_HPP

Modified: branches/release/boost/archive/basic_text_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/basic_text_iarchive.hpp (original)
+++ branches/release/boost/archive/basic_text_iarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -33,6 +33,11 @@
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -79,6 +84,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_ARCHIVE_BASIC_TEXT_IARCHIVE_HPP

Modified: branches/release/boost/archive/basic_text_iprimitive.hpp
==============================================================================
--- branches/release/boost/archive/basic_text_iprimitive.hpp (original)
+++ branches/release/boost/archive/basic_text_iprimitive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -47,8 +47,10 @@
 #include <boost/io/ios_state.hpp>
 #include <boost/scoped_ptr.hpp>
 
+#include <boost/serialization/collection_size_type.hpp>
 #include <boost/serialization/throw_exception.hpp>
 #include <boost/archive/archive_exception.hpp>
+#include <boost/archive/basic_streambuf_locale_saver.hpp>
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
 namespace boost {
@@ -70,8 +72,9 @@
 
     #ifndef BOOST_NO_STD_LOCALE
     boost::scoped_ptr<std::locale> archive_locale;
- io::basic_ios_locale_saver<
- BOOST_DEDUCED_TYPENAME IStream::char_type, BOOST_DEDUCED_TYPENAME IStream::traits_type
+ basic_streambuf_locale_saver<
+ BOOST_DEDUCED_TYPENAME IStream::char_type,
+ BOOST_DEDUCED_TYPENAME IStream::traits_type
> locale_saver;
     #endif
 

Modified: branches/release/boost/archive/basic_text_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/basic_text_oarchive.hpp (original)
+++ branches/release/boost/archive/basic_text_oarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -34,6 +34,11 @@
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -129,6 +134,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_ARCHIVE_BASIC_TEXT_OARCHIVE_HPP

Modified: branches/release/boost/archive/basic_text_oprimitive.hpp
==============================================================================
--- branches/release/boost/archive/basic_text_oprimitive.hpp (original)
+++ branches/release/boost/archive/basic_text_oprimitive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -29,6 +29,7 @@
 #include <boost/config/no_tr1/cmath.hpp> // isnan
 #include <cassert>
 #include <cstddef> // size_t
+#include <boost/serialization/collection_size_type.hpp>
 
 #include <boost/config.hpp>
 #include <boost/detail/workaround.hpp>
@@ -49,9 +50,8 @@
 #include <boost/io/ios_state.hpp>
 #include <boost/scoped_ptr.hpp>
 #include <boost/serialization/throw_exception.hpp>
-
 #include <boost/archive/archive_exception.hpp>
-
+#include <boost/archive/basic_streambuf_locale_saver.hpp>
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
 namespace boost {
@@ -75,8 +75,9 @@
 
     #ifndef BOOST_NO_STD_LOCALE
     boost::scoped_ptr<std::locale> archive_locale;
- io::basic_ios_locale_saver<
- BOOST_DEDUCED_TYPENAME OStream::char_type, BOOST_DEDUCED_TYPENAME OStream::traits_type
+ basic_streambuf_locale_saver<
+ BOOST_DEDUCED_TYPENAME OStream::char_type,
+ BOOST_DEDUCED_TYPENAME OStream::traits_type
> locale_saver;
     #endif
 
@@ -162,7 +163,7 @@
     ~basic_text_oprimitive();
 public:
     // unformatted append of one character
- void put(int c){
+ void put(BOOST_DEDUCED_TYPENAME OStream::char_type c){
         if(os.fail())
             boost::serialization::throw_exception(
                 archive_exception(archive_exception::stream_error)

Modified: branches/release/boost/archive/basic_xml_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/basic_xml_iarchive.hpp (original)
+++ branches/release/boost/archive/basic_xml_iarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -29,6 +29,11 @@
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -113,6 +118,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_ARCHIVE_BASIC_XML_IARCHIVE_HPP

Modified: branches/release/boost/archive/basic_xml_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/basic_xml_oarchive.hpp (original)
+++ branches/release/boost/archive/basic_xml_oarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -28,6 +28,11 @@
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -131,6 +136,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_ARCHIVE_BASIC_XML_OARCHIVE_HPP

Modified: branches/release/boost/archive/binary_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/binary_iarchive.hpp (original)
+++ branches/release/boost/archive/binary_iarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -20,6 +20,11 @@
 #include <boost/archive/binary_iarchive_impl.hpp>
 #include <boost/archive/detail/register_archive.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -91,4 +96,8 @@
 BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_iarchive)
 BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(boost::archive::binary_iarchive)
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #endif // BOOST_ARCHIVE_BINARY_IARCHIVE_HPP

Modified: branches/release/boost/archive/binary_iarchive_impl.hpp
==============================================================================
--- branches/release/boost/archive/binary_iarchive_impl.hpp (original)
+++ branches/release/boost/archive/binary_iarchive_impl.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -21,6 +21,11 @@
 #include <boost/archive/basic_binary_iprimitive.hpp>
 #include <boost/archive/basic_binary_iarchive.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -84,4 +89,8 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #endif // BOOST_ARCHIVE_BINARY_IARCHIVE_IMPL_HPP

Modified: branches/release/boost/archive/binary_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/binary_oarchive.hpp (original)
+++ branches/release/boost/archive/binary_oarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -17,9 +17,15 @@
 // See http://www.boost.org for updates, documentation, and revision history.
 
 #include <ostream>
+#include <boost/config.hpp>
 #include <boost/archive/binary_oarchive_impl.hpp>
 #include <boost/archive/detail/register_archive.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -53,4 +59,8 @@
 BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::binary_oarchive)
 BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(boost::archive::binary_oarchive)
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #endif // BOOST_ARCHIVE_BINARY_OARCHIVE_HPP

Modified: branches/release/boost/archive/binary_oarchive_impl.hpp
==============================================================================
--- branches/release/boost/archive/binary_oarchive_impl.hpp (original)
+++ branches/release/boost/archive/binary_oarchive_impl.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -17,10 +17,16 @@
 // See http://www.boost.org for updates, documentation, and revision history.
 
 #include <ostream>
+#include <boost/config.hpp>
 #include <boost/serialization/pfto.hpp>
 #include <boost/archive/basic_binary_oprimitive.hpp>
 #include <boost/archive/basic_binary_oarchive.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -84,4 +90,8 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #endif // BOOST_ARCHIVE_BINARY_OARCHIVE_IMPL_HPP

Modified: branches/release/boost/archive/codecvt_null.hpp
==============================================================================
--- branches/release/boost/archive/codecvt_null.hpp (original)
+++ branches/release/boost/archive/codecvt_null.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -35,6 +35,11 @@
 } // namespace
 #endif
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -87,6 +92,9 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
 #include <boost/archive/detail/abi_suffix.hpp> // pop pragmas
 
 #endif //BOOST_ARCHIVE_CODECVT_NULL_HPP

Modified: branches/release/boost/archive/detail/basic_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/detail/basic_iarchive.hpp (original)
+++ branches/release/boost/archive/detail/basic_iarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -20,6 +20,8 @@
 // #include <boost/scoped_ptr.hpp>
 
 #include <boost/config.hpp>
+#include <boost/noncopyable.hpp>
+
 #include <boost/type_traits/broken_compiler_spec.hpp>
 #include <boost/serialization/tracking_enum.hpp>
 #include <boost/archive/basic_archive.hpp>
@@ -39,7 +41,8 @@
 class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
 //////////////////////////////////////////////////////////////////////
 // class basic_iarchive - read serialized objects from a input stream
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive
+class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive :
+ private boost::noncopyable
 {
     friend class basic_iarchive_impl;
     // hide implementation of this class to minimize header conclusion
@@ -80,7 +83,7 @@
     );
     // real public API starts here
     void
- set_library_version(unsigned int archive_library_version);
+ set_library_version(version_type archive_library_version);
     unsigned int
     get_library_version() const;
     unsigned int

Modified: branches/release/boost/archive/detail/basic_iserializer.hpp
==============================================================================
--- branches/release/boost/archive/detail/basic_iserializer.hpp (original)
+++ branches/release/boost/archive/detail/basic_iserializer.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -19,13 +19,18 @@
 #include <cstdlib> // NULL
 #include <boost/config.hpp>
 
+#include <boost/archive/basic_archive.hpp>
 #include <boost/archive/detail/decl.hpp>
 #include <boost/archive/detail/basic_serializer.hpp>
 #include <boost/archive/detail/auto_link_archive.hpp>
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
-namespace boost {
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
 
+namespace boost {
 namespace serialization {
     class extended_type_info;
 } // namespace serialization
@@ -71,7 +76,7 @@
     // returns true if objects should be tracked
     virtual bool tracking(const unsigned int) const = 0 ;
     // returns class version
- virtual unsigned int version() const = 0 ;
+ virtual version_type version() const = 0 ;
     // returns true if this class is polymorphic
     virtual bool is_polymorphic() const = 0;
     virtual void destroy(/*const*/ void *address) const = 0 ;
@@ -81,6 +86,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_ARCHIVE_DETAIL_BASIC_ISERIALIZER_HPP

Modified: branches/release/boost/archive/detail/basic_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/detail/basic_oarchive.hpp (original)
+++ branches/release/boost/archive/detail/basic_oarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -16,8 +16,10 @@
 
 // See http://www.boost.org for updates, documentation, and revision history.
 
-#include <boost/config.hpp>
 #include <cstddef> // NULL
+#include <boost/config.hpp>
+#include <boost/noncopyable.hpp>
+
 #include <boost/type_traits/broken_compiler_spec.hpp>
 
 // can't use this - much as I'd like to as borland doesn't support it
@@ -41,7 +43,8 @@
 class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
 //////////////////////////////////////////////////////////////////////
 // class basic_oarchive - write serialized objects to an output stream
-class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive
+class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive :
+ private boost::noncopyable
 {
     friend class basic_oarchive_impl;
     // hide implementation of this class to minimize header conclusion

Modified: branches/release/boost/archive/detail/basic_oserializer.hpp
==============================================================================
--- branches/release/boost/archive/detail/basic_oserializer.hpp (original)
+++ branches/release/boost/archive/detail/basic_oserializer.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -18,14 +18,20 @@
 
 #include <cstddef> // NULL
 #include <boost/config.hpp>
+#include <boost/noncopyable.hpp>
 
+#include <boost/archive/basic_archive.hpp>
 #include <boost/archive/detail/auto_link_archive.hpp>
 #include <boost/archive/detail/basic_serializer.hpp>
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
-namespace boost {
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
 
+namespace boost {
 namespace serialization {
     class extended_type_info;
 } // namespace serialization
@@ -69,7 +75,7 @@
     // returns true if objects should be tracked
     virtual bool tracking(const unsigned int flags) const = 0;
     // returns class version
- virtual unsigned int version() const = 0;
+ virtual version_type version() const = 0;
     // returns true if this class is polymorphic
     virtual bool is_polymorphic() const = 0;
 };
@@ -78,6 +84,10 @@
 } // namespace serialization
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_SERIALIZATION_BASIC_OSERIALIZER_HPP

Modified: branches/release/boost/archive/detail/basic_pointer_iserializer.hpp
==============================================================================
--- branches/release/boost/archive/detail/basic_pointer_iserializer.hpp (original)
+++ branches/release/boost/archive/detail/basic_pointer_iserializer.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -17,13 +17,18 @@
 
 // See http://www.boost.org for updates, documentation, and revision history.
 #include <boost/config.hpp>
+#include <boost/noncopyable.hpp>
 #include <boost/archive/detail/auto_link_archive.hpp>
 #include <boost/archive/detail/basic_serializer.hpp>
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
-namespace boost {
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
 
+namespace boost {
 namespace serialization {
     class extended_type_info;
 } // namespace serialization
@@ -59,6 +64,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_ARCHIVE_BASIC_POINTER_ISERIALIZER_HPP

Modified: branches/release/boost/archive/detail/basic_pointer_oserializer.hpp
==============================================================================
--- branches/release/boost/archive/detail/basic_pointer_oserializer.hpp (original)
+++ branches/release/boost/archive/detail/basic_pointer_oserializer.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -17,13 +17,18 @@
 
 // See http://www.boost.org for updates, documentation, and revision history.
 #include <boost/config.hpp>
+#include <boost/noncopyable.hpp>
 #include <boost/archive/detail/auto_link_archive.hpp>
 #include <boost/archive/detail/basic_serializer.hpp>
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
-namespace boost {
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
 
+namespace boost {
 namespace serialization {
     class extended_type_info;
 } // namespace serialization
@@ -35,7 +40,8 @@
 class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer;
 
 class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer :
- public basic_serializer {
+ public basic_serializer
+{
 protected:
     explicit basic_pointer_oserializer(
         const boost::serialization::extended_type_info & type_
@@ -57,6 +63,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_ARCHIVE_BASIC_POINTER_OSERIALIZER_HPP

Modified: branches/release/boost/archive/detail/basic_serializer.hpp
==============================================================================
--- branches/release/boost/archive/detail/basic_serializer.hpp (original)
+++ branches/release/boost/archive/detail/basic_serializer.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -23,6 +23,11 @@
 #include <boost/config.hpp>
 #include <boost/serialization/extended_type_info.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 namespace detail {
@@ -67,4 +72,8 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #endif // BOOST_ARCHIVE_BASIC_SERIALIZER_HPP

Modified: branches/release/boost/archive/detail/check.hpp
==============================================================================
--- branches/release/boost/archive/detail/check.hpp (original)
+++ branches/release/boost/archive/detail/check.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -58,7 +58,7 @@
     // trap attempts to serialize objects marked
     // not_serializable
     BOOST_STATIC_ASSERT(typex::value);
-};
+}
 
 template<class T>
 void inline check_object_versioning(){
@@ -76,7 +76,7 @@
     // trap attempts to serialize with objects that don't
     // save class information in the archive with versioning.
     BOOST_STATIC_ASSERT(typex::value);
-};
+}
 
 template<class T>
 void inline check_object_tracking(){
@@ -96,7 +96,7 @@
     // for motivation for this checking.
 
     BOOST_STATIC_WARNING(typex::value);
-};
+}
 
 // checks for pointers
 
@@ -146,7 +146,7 @@
     // serializing an object of a type marked "track_never" through a pointer
     // could result in creating more objects than were saved!
     BOOST_STATIC_WARNING(typex::value);
-};
+}
 
 template<class T>
 void inline check_const_loading(){
@@ -160,7 +160,7 @@
     // cannot load data into a "const" object unless it's a
     // wrapper around some other non-const object.
     BOOST_STATIC_ASSERT(typex::value);
-};
+}
 
 } // detail
 } // archive

Modified: branches/release/boost/archive/detail/common_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/detail/common_iarchive.hpp (original)
+++ branches/release/boost/archive/detail/common_iarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -16,12 +16,19 @@
 
 // See http://www.boost.org for updates, documentation, and revision history.
 
+#include <boost/config.hpp>
+
 #include <boost/archive/detail/basic_iarchive.hpp>
 #include <boost/archive/detail/basic_pointer_iserializer.hpp>
 #include <boost/archive/detail/interface_iarchive.hpp>
 #include <boost/archive/detail/archive_serializer_map.hpp>
 #include <boost/serialization/singleton.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 namespace detail {
@@ -82,5 +89,9 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #endif // BOOST_ARCHIVE_DETAIL_COMMON_IARCHIVE_HPP
 

Modified: branches/release/boost/archive/detail/common_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/detail/common_oarchive.hpp (original)
+++ branches/release/boost/archive/detail/common_oarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -16,9 +16,16 @@
 
 // See http://www.boost.org for updates, documentation, and revision history.
 
+#include <boost/config.hpp>
+
 #include <boost/archive/detail/basic_oarchive.hpp>
 #include <boost/archive/detail/interface_oarchive.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 namespace detail {
@@ -73,4 +80,8 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #endif // BOOST_ARCHIVE_DETAIL_COMMON_OARCHIVE_HPP

Modified: branches/release/boost/archive/detail/iserializer.hpp
==============================================================================
--- branches/release/boost/archive/detail/iserializer.hpp (original)
+++ branches/release/boost/archive/detail/iserializer.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -110,6 +110,11 @@
 
 namespace detail {
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 template<class Archive, class T>
 class iserializer : public basic_iserializer
 {
@@ -144,8 +149,8 @@
                 == boost::serialization::track_selectively
                 && serialized_as_pointer());
     }
- virtual unsigned int version() const {
- return ::boost::serialization::version<T>::value;
+ virtual version_type version() const {
+ return version_type(::boost::serialization::version<T>::value);
     }
     virtual bool is_polymorphic() const {
         return boost::is_polymorphic<T>::value;
@@ -153,6 +158,10 @@
     virtual ~iserializer(){};
 };
 
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
+
 template<class Archive, class T>
 BOOST_DLLEXPORT void iserializer<Archive, T>::load_object_data(
     basic_iarchive & ar,
@@ -160,7 +169,7 @@
     const unsigned int file_version
 ) const {
     // trap case where the program cannot handle the current version
- if(file_version > version())
+ if(file_version > static_cast<const unsigned int>(version()))
         boost::serialization::throw_exception(
             archive::archive_exception(
                 boost::archive::archive_exception::unsupported_class_version,
@@ -177,6 +186,11 @@
     );
 }
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 template<class Archive, class T>
 class pointer_iserializer :
     public basic_pointer_iserializer
@@ -198,6 +212,10 @@
     ~pointer_iserializer();
 };
 
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
+
 // note trick to be sure that operator new is using class specific
 // version if such exists. Due to Peter Dimov.
 // note: the following fails if T has no default constructor.
@@ -471,7 +489,7 @@
     }
 
     template<class T>
- static void load(Archive &ar, T & t){
+ static void load(Archive & /* ar */ , T & /* t */){
         check_pointer_level<T>();
         check_pointer_tracking<T>();
     }

Modified: branches/release/boost/archive/detail/oserializer.hpp
==============================================================================
--- branches/release/boost/archive/detail/oserializer.hpp (original)
+++ branches/release/boost/archive/detail/oserializer.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -91,6 +91,11 @@
 
 namespace detail {
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 template<class Archive, class T>
 class oserializer : public basic_oserializer
 {
@@ -119,8 +124,8 @@
             || (boost::serialization::tracking_level<T>::value == boost::serialization::track_selectively
                 && serialized_as_pointer());
     }
- virtual unsigned int version() const {
- return ::boost::serialization::version<T>::value;
+ virtual version_type version() const {
+ return version_type(::boost::serialization::version<T>::value);
     }
     virtual bool is_polymorphic() const {
         return boost::is_polymorphic<T>::value;
@@ -128,6 +133,10 @@
     virtual ~oserializer(){}
 };
 
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
+
 template<class Archive, class T>
 BOOST_DLLEXPORT void oserializer<Archive, T>::save_object_data(
     basic_oarchive & ar,
@@ -143,6 +152,11 @@
     );
 }
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 template<class Archive, class T>
 class pointer_oserializer :
     public basic_pointer_oserializer
@@ -163,6 +177,10 @@
     ~pointer_oserializer();
 };
 
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
+
 template<class Archive, class T>
 BOOST_DLLEXPORT void pointer_oserializer<Archive, T>::save_object_ptr(
     basic_oarchive & ar,
@@ -288,13 +306,13 @@
> > >::type typex;
         check_object_versioning<T>();
         typex::invoke(ar, t);
- };
+ }
     template<class T>
     static void invoke(Archive & ar, T & t){
         check_object_level<T>();
         check_object_tracking<T>();
         invoke(ar, const_cast<const T &>(t));
- };
+ }
 };
 
 template<class Archive>
@@ -453,7 +471,7 @@
             return;
         }
         save(ar, * t);
- };
+ }
 };
 
 template<class Archive>

Modified: branches/release/boost/archive/detail/polymorphic_iarchive_route.hpp
==============================================================================
--- branches/release/boost/archive/detail/polymorphic_iarchive_route.hpp (original)
+++ branches/release/boost/archive/detail/polymorphic_iarchive_route.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -27,7 +27,6 @@
 } // namespace std
 #endif
 
-#include <boost/noncopyable.hpp>
 #include <boost/cstdint.hpp>
 #include <boost/archive/polymorphic_iarchive.hpp>
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
@@ -42,13 +41,17 @@
 class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer;
 class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 template<class ArchiveImplementation>
 class polymorphic_iarchive_route :
     public polymorphic_iarchive,
     // note: gcc dynamic cross cast fails if the the derivation below is
     // not public. I think this is a mistake.
- public /*protected*/ ArchiveImplementation,
- private boost::noncopyable
+ public /*protected*/ ArchiveImplementation
 {
 private:
     // these are used by the serialization library.
@@ -64,7 +67,7 @@
     ){
         return ArchiveImplementation::load_pointer(t, bpis_ptr);
     }
- virtual void set_library_version(unsigned int archive_library_version){
+ virtual void set_library_version(version_type archive_library_version){
         ArchiveImplementation::set_library_version(archive_library_version);
     }
     virtual unsigned int get_library_version() const{
@@ -188,6 +191,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_ARCHIVE_DETAIL_POLYMORPHIC_IARCHIVE_DISPATCH_HPP

Modified: branches/release/boost/archive/detail/polymorphic_oarchive_route.hpp
==============================================================================
--- branches/release/boost/archive/detail/polymorphic_oarchive_route.hpp (original)
+++ branches/release/boost/archive/detail/polymorphic_oarchive_route.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -18,7 +18,6 @@
 
 #include <string>
 #include <ostream>
-#include <boost/noncopyable.hpp>
 #include <boost/cstdint.hpp>
 #include <cstddef> // size_t
 
@@ -42,13 +41,17 @@
 class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer;
 class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 template<class ArchiveImplementation>
 class polymorphic_oarchive_route :
     public polymorphic_oarchive,
     // note: gcc dynamic cross cast fails if the the derivation below is
     // not public. I think this is a mistake.
- public /*protected*/ ArchiveImplementation,
- private boost::noncopyable
+ public /*protected*/ ArchiveImplementation
 {
 private:
     // these are used by the serialization library.
@@ -179,6 +182,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_ARCHIVE_DETAIL_POLYMORPHIC_OARCHIVE_DISPATCH_HPP

Modified: branches/release/boost/archive/impl/archive_serializer_map.ipp
==============================================================================
--- branches/release/boost/archive/impl/archive_serializer_map.ipp (original)
+++ branches/release/boost/archive/impl/archive_serializer_map.ipp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -21,12 +21,21 @@
 namespace archive {
 namespace detail {
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace { // anon
     template<class Archive>
     class map : public basic_serializer_map
     {};
 }
 
+#ifdef BOOST_MSVC
+# pragma warning(pop)
+#endif
+
 template<class Archive>
 BOOST_ARCHIVE_OR_WARCHIVE_DECL(bool)
 archive_serializer_map<Archive>::insert(const basic_serializer * bs){

Modified: branches/release/boost/archive/impl/basic_text_iarchive.ipp
==============================================================================
--- branches/release/boost/archive/impl/basic_text_iarchive.ipp (original)
+++ branches/release/boost/archive/impl/basic_text_iarchive.ipp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -64,11 +64,11 @@
     #if ! BOOST_WORKAROUND(BOOST_MSVC, <= 1200)
     detail::
     #endif
- basic_iarchive::set_library_version(input_library_version.t);
+ basic_iarchive::set_library_version(input_library_version);
     #endif
 
     // extra little .t is to get around borland quirk
- if(BOOST_ARCHIVE_VERSION() < input_library_version.t)
+ if(BOOST_ARCHIVE_VERSION() < input_library_version)
         boost::serialization::throw_exception(
             archive_exception(archive_exception::unsupported_version)
         );

Modified: branches/release/boost/archive/impl/basic_text_iprimitive.ipp
==============================================================================
--- branches/release/boost/archive/impl/basic_text_iprimitive.ipp (original)
+++ branches/release/boost/archive/impl/basic_text_iprimitive.ipp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -39,13 +39,13 @@
 
     template<>
     bool is_whitespace(char t){
- return std::isspace(t);
+ return 0 != std::isspace(t);
     }
 
     #ifndef BOOST_NO_CWCHAR
     template<>
     bool is_whitespace(wchar_t t){
- return std::iswspace(t);
+ return 0 != std::iswspace(t);
     }
     #endif
 }
@@ -104,11 +104,11 @@
     
     iterators::istream_iterator<CharType> i;
     for(;;){
- CharType c;
- c = is.get();
+ BOOST_DEDUCED_TYPENAME IStream::int_type r;
+ r = is.get();
         if(is.eof())
             break;
- if(is_whitespace(c))
+ if(is_whitespace(static_cast<CharType>(r)))
             break;
     }
 }
@@ -124,7 +124,7 @@
     flags_saver(is_),
     precision_saver(is_),
     archive_locale(NULL),
- locale_saver(is_)
+ locale_saver(* is_.rdbuf())
 {
     if(! no_codecvt){
         archive_locale.reset(

Modified: branches/release/boost/archive/impl/basic_text_oprimitive.ipp
==============================================================================
--- branches/release/boost/archive/impl/basic_text_oprimitive.ipp (original)
+++ branches/release/boost/archive/impl/basic_text_oprimitive.ipp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -84,7 +84,7 @@
     flags_saver(os_),
     precision_saver(os_),
     archive_locale(NULL),
- locale_saver(os_)
+ locale_saver(* os_.rdbuf())
 {
     if(! no_codecvt){
         archive_locale.reset(

Modified: branches/release/boost/archive/impl/xml_iarchive_impl.ipp
==============================================================================
--- branches/release/boost/archive/impl/xml_iarchive_impl.ipp (original)
+++ branches/release/boost/archive/impl/xml_iarchive_impl.ipp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -156,7 +156,9 @@
 BOOST_ARCHIVE_DECL(void)
 xml_iarchive_impl<Archive>::init(){
     gimpl->init(is);
- this->set_library_version(gimpl->rv.version);
+ this->set_library_version(
+ version_type(gimpl->rv.version)
+ );
 }
 
 template<class Archive>

Modified: branches/release/boost/archive/impl/xml_wiarchive_impl.ipp
==============================================================================
--- branches/release/boost/archive/impl/xml_wiarchive_impl.ipp (original)
+++ branches/release/boost/archive/impl/xml_wiarchive_impl.ipp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -146,7 +146,9 @@
 BOOST_WARCHIVE_DECL(void)
 xml_wiarchive_impl<Archive>::init(){
     gimpl->init(is);
- this->set_library_version(gimpl->rv.version);
+ this->set_library_version(
+ version_type(gimpl->rv.version)
+ );
 }
 
 template<class Archive>

Modified: branches/release/boost/archive/iterators/escape.hpp
==============================================================================
--- branches/release/boost/archive/iterators/escape.hpp (original)
+++ branches/release/boost/archive/iterators/escape.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -97,7 +97,7 @@
     const base_value_type *m_bnext;
     const base_value_type *m_bend;
     bool m_full;
- BOOST_DEDUCED_TYPENAME boost::iterator_value<Base>::type m_current_value;
+ base_value_type m_current_value;
 public:
     escape(Base base) :
         super_t(base),

Modified: branches/release/boost/archive/iterators/istream_iterator.hpp
==============================================================================
--- branches/release/boost/archive/iterators/istream_iterator.hpp (original)
+++ branches/release/boost/archive/iterators/istream_iterator.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -61,7 +61,7 @@
 
     void increment(){
         if(NULL != m_istream){
- m_current_value = m_istream->get();
+ m_current_value = static_cast<Elem>(m_istream->get());
             if(! m_istream->good()){
                 const_cast<this_t *>(this)->m_istream = NULL;
             }

Modified: branches/release/boost/archive/iterators/unescape.hpp
==============================================================================
--- branches/release/boost/archive/iterators/unescape.hpp (original)
+++ branches/release/boost/archive/iterators/unescape.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -50,13 +50,11 @@
> super_t;
 
     typedef unescape<Derived, Base> this_t;
- typedef BOOST_DEDUCED_TYPENAME super_t::reference reference_type;
 public:
- // gcc 3.4.1 - linux required that this be public
- typedef BOOST_DEDUCED_TYPENAME super_t::value_type value_type;
+ typedef BOOST_DEDUCED_TYPENAME this_t::value_type value_type;
+ typedef BOOST_DEDUCED_TYPENAME this_t::reference reference;
 private:
-
- reference_type dereference_impl() {
+ value_type dereference_impl() {
         if(! m_full){
             m_current_value = static_cast<Derived *>(this)->drain();
             m_full = true;
@@ -64,11 +62,10 @@
         return m_current_value;
     }
 
- reference_type dereference() const {
+ reference dereference() const {
         return const_cast<this_t *>(this)->dereference_impl();
     }
 
- // value_type is const char - can't be const fix later
     value_type m_current_value;
     bool m_full;
 

Modified: branches/release/boost/archive/iterators/xml_unescape.hpp
==============================================================================
--- branches/release/boost/archive/iterators/xml_unescape.hpp (original)
+++ branches/release/boost/archive/iterators/xml_unescape.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -19,6 +19,7 @@
 #include <cassert>
 
 #include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME
+
 #include <boost/serialization/throw_exception.hpp>
 #include <boost/serialization/pfto.hpp>
 
@@ -44,8 +45,15 @@
         return unescape<xml_unescape<Base>, Base>::dereference();
     }
 public:
+ // workaround msvc 7.1 ICU crash
+ #if defined(BOOST_MSVC)
+ typedef int value_type;
+ #else
+ typedef BOOST_DEDUCED_TYPENAME this_t::value_type value_type;
+ #endif
+
     void drain_residue(const char *literal);
- int drain();
+ value_type drain();
 
     template<class T>
     xml_unescape(BOOST_PFTO_WRAPPER(T) start) :
@@ -75,8 +83,10 @@
 // iterator refenence which would make subsequent iterator comparisons
 // incorrect and thereby break the composiblity of iterators.
 template<class Base>
-int xml_unescape<Base>::drain(){
- int retval = * this->base_reference();
+BOOST_DEDUCED_TYPENAME xml_unescape<Base>::value_type
+//int
+xml_unescape<Base>::drain(){
+ value_type retval = * this->base_reference();
     if('&' != retval){
         return retval;
     }

Modified: branches/release/boost/archive/polymorphic_binary_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_binary_iarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_binary_iarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -20,6 +20,11 @@
 #include <boost/archive/binary_iarchive.hpp>
 #include <boost/archive/detail/polymorphic_iarchive_route.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -36,6 +41,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 // required by export
 BOOST_SERIALIZATION_REGISTER_ARCHIVE(
     boost::archive::polymorphic_binary_iarchive

Modified: branches/release/boost/archive/polymorphic_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_iarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_iarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -141,7 +141,7 @@
     virtual ~polymorphic_iarchive_impl(){};
 public:
     // utility function implemented by all legal archives
- virtual void set_library_version(unsigned int archive_library_version) = 0;
+ virtual void set_library_version(version_type archive_library_version) = 0;
     virtual unsigned int get_library_version() const = 0;
     virtual unsigned int get_flags() const = 0;
     virtual void delete_created_pointers() = 0;

Modified: branches/release/boost/archive/polymorphic_text_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_text_iarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_text_iarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -20,6 +20,11 @@
 #include <boost/archive/text_iarchive.hpp>
 #include <boost/archive/detail/polymorphic_iarchive_route.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -36,6 +41,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 // required by export
 BOOST_SERIALIZATION_REGISTER_ARCHIVE(
     boost::archive::polymorphic_text_iarchive

Modified: branches/release/boost/archive/polymorphic_text_wiarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_text_wiarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_text_wiarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -24,6 +24,11 @@
 #include <boost/archive/text_wiarchive.hpp>
 #include <boost/archive/detail/polymorphic_iarchive_route.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -40,6 +45,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 // required by export
 BOOST_SERIALIZATION_REGISTER_ARCHIVE(
     boost::archive::polymorphic_text_wiarchive

Modified: branches/release/boost/archive/polymorphic_xml_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/polymorphic_xml_iarchive.hpp (original)
+++ branches/release/boost/archive/polymorphic_xml_iarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -20,6 +20,11 @@
 #include <boost/archive/xml_iarchive.hpp>
 #include <boost/archive/detail/polymorphic_iarchive_route.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -36,6 +41,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 // required by export
 BOOST_SERIALIZATION_REGISTER_ARCHIVE(
     boost::archive::polymorphic_xml_iarchive

Modified: branches/release/boost/archive/shared_ptr_helper.hpp
==============================================================================
--- branches/release/boost/archive/shared_ptr_helper.hpp (original)
+++ branches/release/boost/archive/shared_ptr_helper.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -98,17 +98,18 @@
 
     // returns pointer to object and an indicator whether this is a
     // new entry (true) or a previous one (false)
- BOOST_ARCHIVE_DECL(result_type) get_od(
- void * od,
- const boost::serialization::extended_type_info * true_type,
- const boost::serialization::extended_type_info * this_type
+ BOOST_ARCHIVE_DECL(result_type)
+ get_od(
+ void * od,
+ const boost::serialization::extended_type_info * true_type,
+ const boost::serialization::extended_type_info * this_type
     );
 
     template<class T>
     struct non_polymorphic {
         static const boost::serialization::extended_type_info *
         get_object_identifier(T & t){
- return boost::serialization::singleton<
+ return & boost::serialization::singleton<
                 BOOST_DEDUCED_TYPENAME
                 boost::serialization::type_info_implementation<T>::type
>::get_const_instance();
@@ -157,7 +158,7 @@
             );
         result_type r =
             get_od(
- t,
+ static_cast<void *>(t),
                 true_type,
                 this_type
             );

Modified: branches/release/boost/archive/text_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/text_iarchive.hpp (original)
+++ branches/release/boost/archive/text_iarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -26,6 +26,11 @@
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -94,6 +99,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 // note special treatment of shared_ptr. This type needs a special
@@ -102,6 +111,11 @@
 // special esteem in the boost library - we included it here by default.
 #include <boost/archive/shared_ptr_helper.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -123,4 +137,8 @@
 // required by export
 BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_iarchive)
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #endif // BOOST_ARCHIVE_TEXT_IARCHIVE_HPP

Modified: branches/release/boost/archive/text_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/text_oarchive.hpp (original)
+++ branches/release/boost/archive/text_oarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -33,6 +33,11 @@
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -82,7 +87,6 @@
     public text_oarchive_impl<text_oarchive>
 {
 public:
-
     text_oarchive(std::ostream & os_, unsigned int flags = 0) :
         // note: added _ to suppress useless gcc warning
         text_oarchive_impl<text_oarchive>(os_, flags)
@@ -98,6 +102,10 @@
 // required by export
 BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_oarchive)
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_ARCHIVE_TEXT_OARCHIVE_HPP

Modified: branches/release/boost/archive/text_wiarchive.hpp
==============================================================================
--- branches/release/boost/archive/text_wiarchive.hpp (original)
+++ branches/release/boost/archive/text_wiarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -30,6 +30,11 @@
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -91,6 +96,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 // note special treatment of shared_ptr. This type needs a special
@@ -99,6 +108,11 @@
 // special esteem in the boost library - we included it here by default.
 #include <boost/archive/shared_ptr_helper.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -119,5 +133,9 @@
 // required by export
 BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_wiarchive)
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #endif // BOOST_NO_STD_WSTREAMBUF
 #endif // BOOST_ARCHIVE_TEXT_WIARCHIVE_HPP

Modified: branches/release/boost/archive/text_woarchive.hpp
==============================================================================
--- branches/release/boost/archive/text_woarchive.hpp (original)
+++ branches/release/boost/archive/text_woarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -38,6 +38,11 @@
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -83,7 +88,7 @@
     }
 public:
     void save_binary(const void *address, std::size_t count){
- put(L'\n');
+ put(static_cast<wchar_t>('\n'));
         this->end_preamble();
         #if ! defined(__MWERKS__)
         this->basic_text_oprimitive<std::wostream>::save_binary(
@@ -93,7 +98,7 @@
             address,
             count
         );
- put(L'\n');
+ put(static_cast<wchar_t>('\n'));
         this->delimiter = this->none;
     }
 
@@ -123,6 +128,10 @@
 // required by export
 BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::text_woarchive)
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_NO_STD_WSTREAMBUF

Modified: branches/release/boost/archive/xml_iarchive.hpp
==============================================================================
--- branches/release/boost/archive/xml_iarchive.hpp (original)
+++ branches/release/boost/archive/xml_iarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -26,6 +26,11 @@
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -102,6 +107,10 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 // note special treatment of shared_ptr. This type needs a special
@@ -110,6 +119,11 @@
 // special esteem in the boost library - we included it here by default.
 #include <boost/archive/shared_ptr_helper.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -130,4 +144,8 @@
 // required by export
 BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_iarchive)
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #endif // BOOST_ARCHIVE_XML_IARCHIVE_HPP

Modified: branches/release/boost/archive/xml_oarchive.hpp
==============================================================================
--- branches/release/boost/archive/xml_oarchive.hpp (original)
+++ branches/release/boost/archive/xml_oarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -33,6 +33,11 @@
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -110,6 +115,10 @@
 // required by export
 BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_oarchive)
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_ARCHIVE_XML_OARCHIVE_HPP

Modified: branches/release/boost/archive/xml_wiarchive.hpp
==============================================================================
--- branches/release/boost/archive/xml_wiarchive.hpp (original)
+++ branches/release/boost/archive/xml_wiarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -31,6 +31,11 @@
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -106,6 +111,11 @@
 } // namespace archive
 } // namespace boost
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 // note special treatment of shared_ptr. This type needs a special
@@ -114,6 +124,11 @@
 // special esteem in the boost library - we included it here by default.
 #include <boost/archive/shared_ptr_helper.hpp>
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -134,5 +149,9 @@
 // required by export
 BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_wiarchive)
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #endif // BOOST_NO_STD_WSTREAMBUF
 #endif // BOOST_ARCHIVE_XML_WIARCHIVE_HPP

Modified: branches/release/boost/archive/xml_woarchive.hpp
==============================================================================
--- branches/release/boost/archive/xml_woarchive.hpp (original)
+++ branches/release/boost/archive/xml_woarchive.hpp 2009-12-05 01:32:01 EST (Sat, 05 Dec 2009)
@@ -37,6 +37,11 @@
 
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
 namespace boost {
 namespace archive {
 
@@ -124,6 +129,10 @@
 // required by export
 BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::archive::xml_woarchive)
 
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
 #include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
 
 #endif // BOOST_NO_STD_WSTREAMBUF


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk