|
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