|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r57697 - in trunk/boost: archive archive/detail archive/impl archive/iterators serialization
From: ramey_at_[hidden]
Date: 2009-11-16 00:16:58
Author: ramey
Date: 2009-11-16 00:16:51 EST (Mon, 16 Nov 2009)
New Revision: 57697
URL: http://svn.boost.org/trac/boost/changeset/57697
Log:
Fixed warnings at highest warning level
Properties modified:
trunk/boost/archive/ (props changed)
trunk/boost/serialization/ (props changed)
Text files modified:
trunk/boost/archive/basic_archive.hpp | 19 +++++++++++--------
trunk/boost/archive/basic_binary_iarchive.hpp | 9 +++++++++
trunk/boost/archive/basic_binary_iprimitive.hpp | 10 ++++++----
trunk/boost/archive/basic_binary_oarchive.hpp | 15 ++++++++++++++-
trunk/boost/archive/basic_binary_oprimitive.hpp | 7 ++++---
trunk/boost/archive/basic_streambuf_locale_saver.hpp | 15 ++++++++++++++-
trunk/boost/archive/basic_text_iarchive.hpp | 9 +++++++++
trunk/boost/archive/basic_text_oarchive.hpp | 9 +++++++++
trunk/boost/archive/basic_text_oprimitive.hpp | 19 ++++++++++++++++++-
trunk/boost/archive/basic_xml_iarchive.hpp | 9 +++++++++
trunk/boost/archive/basic_xml_oarchive.hpp | 9 +++++++++
trunk/boost/archive/binary_iarchive.hpp | 9 +++++++++
trunk/boost/archive/binary_iarchive_impl.hpp | 9 +++++++++
trunk/boost/archive/binary_oarchive.hpp | 10 ++++++++++
trunk/boost/archive/binary_oarchive_impl.hpp | 10 ++++++++++
trunk/boost/archive/codecvt_null.hpp | 8 ++++++++
trunk/boost/archive/detail/basic_iarchive.hpp | 5 ++++-
trunk/boost/archive/detail/basic_iserializer.hpp | 10 +++++++++-
trunk/boost/archive/detail/basic_oarchive.hpp | 7 +++++--
trunk/boost/archive/detail/basic_oserializer.hpp | 11 ++++++++++-
trunk/boost/archive/detail/basic_pointer_iserializer.hpp | 11 ++++++++++-
trunk/boost/archive/detail/basic_pointer_oserializer.hpp | 14 ++++++++++++--
trunk/boost/archive/detail/basic_serializer.hpp | 9 +++++++++
trunk/boost/archive/detail/check.hpp | 10 +++++-----
trunk/boost/archive/detail/common_iarchive.hpp | 11 +++++++++++
trunk/boost/archive/detail/common_oarchive.hpp | 11 +++++++++++
trunk/boost/archive/detail/iserializer.hpp | 20 +++++++++++++++++++-
trunk/boost/archive/detail/oserializer.hpp | 24 +++++++++++++++++++++---
trunk/boost/archive/detail/polymorphic_iarchive_route.hpp | 13 ++++++++++---
trunk/boost/archive/detail/polymorphic_oarchive_route.hpp | 13 ++++++++++---
trunk/boost/archive/impl/archive_serializer_map.ipp | 9 +++++++++
trunk/boost/archive/iterators/escape.hpp | 2 +-
trunk/boost/archive/iterators/istream_iterator.hpp | 2 +-
trunk/boost/archive/iterators/unescape.hpp | 11 ++++-------
trunk/boost/archive/iterators/xml_unescape.hpp | 16 +++++++++++++---
trunk/boost/archive/polymorphic_binary_iarchive.hpp | 9 +++++++++
trunk/boost/archive/polymorphic_text_iarchive.hpp | 9 +++++++++
trunk/boost/archive/polymorphic_text_wiarchive.hpp | 9 +++++++++
trunk/boost/archive/polymorphic_xml_iarchive.hpp | 9 +++++++++
trunk/boost/archive/text_iarchive.hpp | 18 ++++++++++++++++++
trunk/boost/archive/text_oarchive.hpp | 10 +++++++++-
trunk/boost/archive/text_wiarchive.hpp | 18 ++++++++++++++++++
trunk/boost/archive/text_woarchive.hpp | 13 +++++++++++--
trunk/boost/archive/xml_iarchive.hpp | 18 ++++++++++++++++++
trunk/boost/archive/xml_oarchive.hpp | 9 +++++++++
trunk/boost/archive/xml_wiarchive.hpp | 19 +++++++++++++++++++
trunk/boost/archive/xml_woarchive.hpp | 9 +++++++++
trunk/boost/serialization/array.hpp | 34 +++++++++++++++++++++-------------
trunk/boost/serialization/binary_object.hpp | 9 +++++++--
trunk/boost/serialization/extended_type_info_no_rtti.hpp | 2 +-
trunk/boost/serialization/extended_type_info_typeid.hpp | 5 ++++-
trunk/boost/serialization/shared_ptr.hpp | 23 +++++++++++++++++++----
trunk/boost/serialization/singleton.hpp | 13 ++++++++++++-
trunk/boost/serialization/variant.hpp | 4 +++-
trunk/boost/serialization/void_cast.hpp | 9 +++++++++
55 files changed, 555 insertions(+), 79 deletions(-)
Modified: trunk/boost/archive/basic_archive.hpp
==============================================================================
--- trunk/boost/archive/basic_archive.hpp (original)
+++ trunk/boost/archive/basic_archive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 2009)
@@ -17,8 +17,9 @@
// 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/serialization/strong_typedef.hpp>
#include <boost/archive/detail/auto_link_archive.hpp>
#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
@@ -26,12 +27,12 @@
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)
+BOOST_STRONG_TYPEDEF(boost::int_least16_t, version_type)
+BOOST_STRONG_TYPEDEF(boost::int_least16_t, class_id_type)
+BOOST_STRONG_TYPEDEF(boost::int_least16_t, class_id_optional_type)
+BOOST_STRONG_TYPEDEF(boost::int_least16_t, class_id_reference_type)
+BOOST_STRONG_TYPEDEF(boost::uint_least32_t, object_id_type)
+BOOST_STRONG_TYPEDEF(boost::uint_least32_t, object_reference_type)
struct tracking_type {
// typedef bool value_type;
@@ -64,7 +65,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);
Modified: trunk/boost/archive/basic_binary_iarchive.hpp
==============================================================================
--- trunk/boost/archive/basic_binary_iarchive.hpp (original)
+++ trunk/boost/archive/basic_binary_iarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/basic_binary_iprimitive.hpp
==============================================================================
--- trunk/boost/archive/basic_binary_iprimitive.hpp (original)
+++ trunk/boost/archive/basic_binary_iprimitive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/basic_binary_oarchive.hpp
==============================================================================
--- trunk/boost/archive/basic_binary_oarchive.hpp (original)
+++ trunk/boost/archive/basic_binary_oarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/basic_binary_oprimitive.hpp
==============================================================================
--- trunk/boost/archive/basic_binary_oprimitive.hpp (original)
+++ trunk/boost/archive/basic_binary_oprimitive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/basic_streambuf_locale_saver.hpp
==============================================================================
--- trunk/boost/archive/basic_streambuf_locale_saver.hpp (original)
+++ trunk/boost/archive/basic_streambuf_locale_saver.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/basic_text_iarchive.hpp
==============================================================================
--- trunk/boost/archive/basic_text_iarchive.hpp (original)
+++ trunk/boost/archive/basic_text_iarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/basic_text_oarchive.hpp
==============================================================================
--- trunk/boost/archive/basic_text_oarchive.hpp (original)
+++ trunk/boost/archive/basic_text_oarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/basic_text_oprimitive.hpp
==============================================================================
--- trunk/boost/archive/basic_text_oprimitive.hpp (original)
+++ trunk/boost/archive/basic_text_oprimitive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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>
@@ -136,6 +137,22 @@
os << static_cast<int>(t);
}
#endif
+ void save(const std::size_t t)
+ {
+ if(os.fail())
+ boost::serialization::throw_exception(
+ archive_exception(archive_exception::stream_error)
+ );
+ os << static_cast<std::streamsize>(t);
+ }
+ void save(const boost::serialization::collection_size_type t)
+ {
+ if(os.fail())
+ boost::serialization::throw_exception(
+ archive_exception(archive_exception::stream_error)
+ );
+ os << static_cast<std::streamsize>(t);
+ }
void save(const float t)
{
// must be a user mistake - can't serialize un-initialized data
@@ -162,7 +179,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: trunk/boost/archive/basic_xml_iarchive.hpp
==============================================================================
--- trunk/boost/archive/basic_xml_iarchive.hpp (original)
+++ trunk/boost/archive/basic_xml_iarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/basic_xml_oarchive.hpp
==============================================================================
--- trunk/boost/archive/basic_xml_oarchive.hpp (original)
+++ trunk/boost/archive/basic_xml_oarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/binary_iarchive.hpp
==============================================================================
--- trunk/boost/archive/binary_iarchive.hpp (original)
+++ trunk/boost/archive/binary_iarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/binary_iarchive_impl.hpp
==============================================================================
--- trunk/boost/archive/binary_iarchive_impl.hpp (original)
+++ trunk/boost/archive/binary_iarchive_impl.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/binary_oarchive.hpp
==============================================================================
--- trunk/boost/archive/binary_oarchive.hpp (original)
+++ trunk/boost/archive/binary_oarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/binary_oarchive_impl.hpp
==============================================================================
--- trunk/boost/archive/binary_oarchive_impl.hpp (original)
+++ trunk/boost/archive/binary_oarchive_impl.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/codecvt_null.hpp
==============================================================================
--- trunk/boost/archive/codecvt_null.hpp (original)
+++ trunk/boost/archive/codecvt_null.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/detail/basic_iarchive.hpp
==============================================================================
--- trunk/boost/archive/detail/basic_iarchive.hpp (original)
+++ trunk/boost/archive/detail/basic_iarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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
Modified: trunk/boost/archive/detail/basic_iserializer.hpp
==============================================================================
--- trunk/boost/archive/detail/basic_iserializer.hpp (original)
+++ trunk/boost/archive/detail/basic_iserializer.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 2009)
@@ -24,8 +24,12 @@
#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
@@ -81,6 +85,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: trunk/boost/archive/detail/basic_oarchive.hpp
==============================================================================
--- trunk/boost/archive/detail/basic_oarchive.hpp (original)
+++ trunk/boost/archive/detail/basic_oarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/detail/basic_oserializer.hpp
==============================================================================
--- trunk/boost/archive/detail/basic_oserializer.hpp (original)
+++ trunk/boost/archive/detail/basic_oserializer.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 2009)
@@ -18,14 +18,19 @@
#include <cstddef> // NULL
#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
@@ -78,6 +83,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: trunk/boost/archive/detail/basic_pointer_iserializer.hpp
==============================================================================
--- trunk/boost/archive/detail/basic_pointer_iserializer.hpp (original)
+++ trunk/boost/archive/detail/basic_pointer_iserializer.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/detail/basic_pointer_oserializer.hpp
==============================================================================
--- trunk/boost/archive/detail/basic_pointer_oserializer.hpp (original)
+++ trunk/boost/archive/detail/basic_pointer_oserializer.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/detail/basic_serializer.hpp
==============================================================================
--- trunk/boost/archive/detail/basic_serializer.hpp (original)
+++ trunk/boost/archive/detail/basic_serializer.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/detail/check.hpp
==============================================================================
--- trunk/boost/archive/detail/check.hpp (original)
+++ trunk/boost/archive/detail/check.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/detail/common_iarchive.hpp
==============================================================================
--- trunk/boost/archive/detail/common_iarchive.hpp (original)
+++ trunk/boost/archive/detail/common_iarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/detail/common_oarchive.hpp
==============================================================================
--- trunk/boost/archive/detail/common_oarchive.hpp (original)
+++ trunk/boost/archive/detail/common_oarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/detail/iserializer.hpp
==============================================================================
--- trunk/boost/archive/detail/iserializer.hpp (original)
+++ trunk/boost/archive/detail/iserializer.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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
{
@@ -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,
@@ -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: trunk/boost/archive/detail/oserializer.hpp
==============================================================================
--- trunk/boost/archive/detail/oserializer.hpp (original)
+++ trunk/boost/archive/detail/oserializer.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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
{
@@ -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: trunk/boost/archive/detail/polymorphic_iarchive_route.hpp
==============================================================================
--- trunk/boost/archive/detail/polymorphic_iarchive_route.hpp (original)
+++ trunk/boost/archive/detail/polymorphic_iarchive_route.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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.
@@ -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: trunk/boost/archive/detail/polymorphic_oarchive_route.hpp
==============================================================================
--- trunk/boost/archive/detail/polymorphic_oarchive_route.hpp (original)
+++ trunk/boost/archive/detail/polymorphic_oarchive_route.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/impl/archive_serializer_map.ipp
==============================================================================
--- trunk/boost/archive/impl/archive_serializer_map.ipp (original)
+++ trunk/boost/archive/impl/archive_serializer_map.ipp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/iterators/escape.hpp
==============================================================================
--- trunk/boost/archive/iterators/escape.hpp (original)
+++ trunk/boost/archive/iterators/escape.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/iterators/istream_iterator.hpp
==============================================================================
--- trunk/boost/archive/iterators/istream_iterator.hpp (original)
+++ trunk/boost/archive/iterators/istream_iterator.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/iterators/unescape.hpp
==============================================================================
--- trunk/boost/archive/iterators/unescape.hpp (original)
+++ trunk/boost/archive/iterators/unescape.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/iterators/xml_unescape.hpp
==============================================================================
--- trunk/boost/archive/iterators/xml_unescape.hpp (original)
+++ trunk/boost/archive/iterators/xml_unescape.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/polymorphic_binary_iarchive.hpp
==============================================================================
--- trunk/boost/archive/polymorphic_binary_iarchive.hpp (original)
+++ trunk/boost/archive/polymorphic_binary_iarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/polymorphic_text_iarchive.hpp
==============================================================================
--- trunk/boost/archive/polymorphic_text_iarchive.hpp (original)
+++ trunk/boost/archive/polymorphic_text_iarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/polymorphic_text_wiarchive.hpp
==============================================================================
--- trunk/boost/archive/polymorphic_text_wiarchive.hpp (original)
+++ trunk/boost/archive/polymorphic_text_wiarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/polymorphic_xml_iarchive.hpp
==============================================================================
--- trunk/boost/archive/polymorphic_xml_iarchive.hpp (original)
+++ trunk/boost/archive/polymorphic_xml_iarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/text_iarchive.hpp
==============================================================================
--- trunk/boost/archive/text_iarchive.hpp (original)
+++ trunk/boost/archive/text_iarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/text_oarchive.hpp
==============================================================================
--- trunk/boost/archive/text_oarchive.hpp (original)
+++ trunk/boost/archive/text_oarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/text_wiarchive.hpp
==============================================================================
--- trunk/boost/archive/text_wiarchive.hpp (original)
+++ trunk/boost/archive/text_wiarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/text_woarchive.hpp
==============================================================================
--- trunk/boost/archive/text_woarchive.hpp (original)
+++ trunk/boost/archive/text_woarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/xml_iarchive.hpp
==============================================================================
--- trunk/boost/archive/xml_iarchive.hpp (original)
+++ trunk/boost/archive/xml_iarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/xml_oarchive.hpp
==============================================================================
--- trunk/boost/archive/xml_oarchive.hpp (original)
+++ trunk/boost/archive/xml_oarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/xml_wiarchive.hpp
==============================================================================
--- trunk/boost/archive/xml_wiarchive.hpp (original)
+++ trunk/boost/archive/xml_wiarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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: trunk/boost/archive/xml_woarchive.hpp
==============================================================================
--- trunk/boost/archive/xml_woarchive.hpp (original)
+++ trunk/boost/archive/xml_woarchive.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 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
Modified: trunk/boost/serialization/array.hpp
==============================================================================
--- trunk/boost/serialization/array.hpp (original)
+++ trunk/boost/serialization/array.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 2009)
@@ -6,16 +6,7 @@
// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/split_member.hpp>
-#include <boost/serialization/wrapper.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/array.hpp>
#include <iostream>
-
#include <cstddef> // std::size_t
#include <cstddef>
#include <boost/config.hpp> // msvc 6.0 needs this for warning suppression
@@ -25,6 +16,15 @@
} // namespace std
#endif
+#include <boost/serialization/nvp.hpp>
+#include <boost/serialization/split_member.hpp>
+#include <boost/serialization/wrapper.hpp>
+#include <boost/mpl/always.hpp>
+#include <boost/mpl/apply.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/type_traits/remove_const.hpp>
+#include <boost/array.hpp>
+
namespace boost { namespace serialization {
// traits to specify whether to use an optimized array serialization
@@ -42,8 +42,8 @@
#endif
template<class T>
-class array
- : public wrapper_traits<const array<T> >
+class array :
+ public wrapper_traits<const array<T> >
{
public:
typedef T value_type;
@@ -52,7 +52,15 @@
m_t(t),
m_element_count(s)
{}
-
+ array(const array & rhs) :
+ m_t(rhs.m_t),
+ m_element_count(rhs.m_element_count)
+ {}
+ array & operator=(const array & rhs){
+ m_t = rhs.m_t;
+ m_element_count = rhs.m_element_count;
+ }
+
// default implementation
template<class Archive>
void serialize_optimized(Archive &ar, const unsigned int, mpl::false_ ) const
@@ -108,7 +116,7 @@
private:
value_type* m_t;
- std::size_t const m_element_count;
+ std::size_t m_element_count;
};
template<class T>
Modified: trunk/boost/serialization/binary_object.hpp
==============================================================================
--- trunk/boost/serialization/binary_object.hpp (original)
+++ trunk/boost/serialization/binary_object.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 2009)
@@ -39,8 +39,8 @@
struct binary_object :
public wrapper_traits<nvp<const binary_object> >
{
- /* const */ void * const m_t;
- const std::size_t m_size;
+ void const * m_t;
+ std::size_t m_size;
template<class Archive>
void save(Archive & ar, const unsigned int /* file_version */) const {
ar.save_binary(m_t, m_size);
@@ -50,6 +50,11 @@
ar.load_binary(const_cast<void *>(m_t), m_size);
}
BOOST_SERIALIZATION_SPLIT_MEMBER()
+ binary_object & operator=(const binary_object & rhs) {
+ m_t = rhs.m_t;
+ m_size = rhs.m_size;
+ return *this;
+ }
binary_object(/* const */ void * const t, std::size_t size) :
m_t(t),
m_size(size)
Modified: trunk/boost/serialization/extended_type_info_no_rtti.hpp
==============================================================================
--- trunk/boost/serialization/extended_type_info_no_rtti.hpp (original)
+++ trunk/boost/serialization/extended_type_info_no_rtti.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 2009)
@@ -34,7 +34,7 @@
#include <boost/config/abi_prefix.hpp> // must be the last header
#ifdef BOOST_MSVC
# pragma warning(push)
-# pragma warning(disable : 4251 4231 4660 4275)
+# pragma warning(disable : 4251 4231 4660 4275 4511 4512)
#endif
namespace boost {
Modified: trunk/boost/serialization/extended_type_info_typeid.hpp
==============================================================================
--- trunk/boost/serialization/extended_type_info_typeid.hpp (original)
+++ trunk/boost/serialization/extended_type_info_typeid.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 2009)
@@ -35,9 +35,10 @@
#include <boost/mpl/if.hpp>
#include <boost/config/abi_prefix.hpp> // must be the last header
+
#ifdef BOOST_MSVC
# pragma warning(push)
-# pragma warning(disable : 4251 4231 4660 4275)
+# pragma warning(disable : 4251 4231 4660 4275 4511 4512)
#endif
namespace boost {
@@ -48,6 +49,8 @@
public extended_type_info
{
virtual const char * get_debug_info() const {
+ if(static_cast<const std::type_info *>(0) == m_ti)
+ return static_cast<const char *>(0);
return m_ti->name();
}
protected:
Modified: trunk/boost/serialization/shared_ptr.hpp
==============================================================================
--- trunk/boost/serialization/shared_ptr.hpp (original)
+++ trunk/boost/serialization/shared_ptr.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 2009)
@@ -108,6 +108,7 @@
ar << boost::serialization::make_nvp("px", t_ptr);
}
+#ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
template<class Archive, class T>
inline void load(
Archive & ar,
@@ -119,7 +120,6 @@
// is never tracked by default. Wrap int in a trackable type
BOOST_STATIC_ASSERT((tracking_level<T>::value != track_never));
T* r;
- #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP
if(file_version < 1){
//ar.register_type(static_cast<
// boost_132::detail::sp_counted_base_impl<T *, boost::checked_deleter<T> > *
@@ -134,14 +134,29 @@
ar.append(sp);
r = sp.get();
}
- else
- #endif
- {
+ else{
ar >> boost::serialization::make_nvp("px", r);
}
ar.reset(t,r);
}
+#else
+template<class Archive, class T>
+inline void load(
+ Archive & ar,
+ boost::shared_ptr<T> &t,
+ const unsigned int /*file_version*/
+){
+ // The most common cause of trapping here would be serializing
+ // something like shared_ptr<int>. This occurs because int
+ // is never tracked by default. Wrap int in a trackable type
+ BOOST_STATIC_ASSERT((tracking_level<T>::value != track_never));
+ T* r;
+ ar >> boost::serialization::make_nvp("px", r);
+ ar.reset(t,r);
+}
+#endif
+
template<class Archive, class T>
inline void serialize(
Archive & ar,
Modified: trunk/boost/serialization/singleton.hpp
==============================================================================
--- trunk/boost/serialization/singleton.hpp (original)
+++ trunk/boost/serialization/singleton.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 2009)
@@ -35,9 +35,15 @@
#endif
#include <cassert>
+#include <boost/config.hpp>
#include <boost/noncopyable.hpp>
#include <boost/serialization/force_include.hpp>
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4511 4512)
+#endif
+
namespace boost {
namespace serialization {
@@ -71,7 +77,8 @@
// attempt to retieve a mutable instances while locked will
// generate a assertion if compiled for debug.
-class singleton_module : public boost::noncopyable
+class singleton_module :
+ public boost::noncopyable
{
private:
static bool & get_lock(){
@@ -144,4 +151,8 @@
} // namespace serialization
} // namespace boost
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
#endif // BOOST_SERIALIZATION_SINGLETON_HPP
Modified: trunk/boost/serialization/variant.hpp
==============================================================================
--- trunk/boost/serialization/variant.hpp (original)
+++ trunk/boost/serialization/variant.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 2009)
@@ -46,7 +46,9 @@
namespace serialization {
template<class Archive>
-struct variant_save_visitor : boost::static_visitor<> {
+struct variant_save_visitor :
+ boost::static_visitor<>
+{
variant_save_visitor(Archive& ar) :
m_ar(ar)
{}
Modified: trunk/boost/serialization/void_cast.hpp
==============================================================================
--- trunk/boost/serialization/void_cast.hpp (original)
+++ trunk/boost/serialization/void_cast.hpp 2009-11-16 00:16:51 EST (Mon, 16 Nov 2009)
@@ -143,6 +143,11 @@
virtual ~void_caster(){}
};
+#ifdef BOOST_MSVC
+# pragma warning(push)
+# pragma warning(disable : 4251 4231 4660 4275 4511 4512)
+#endif
+
template <class Derived, class Base>
class void_caster_primitive :
public void_caster
@@ -211,6 +216,10 @@
~void_caster_virtual_base();
};
+#ifdef BOOST_MSVC
+#pragma warning(pop)
+#endif
+
template <class Derived, class Base>
void_caster_virtual_base<Derived,Base>::void_caster_virtual_base() :
void_caster(
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