$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r86588 - in trunk/boost: archive serialization serialization/detail
From: ramey_at_[hidden]
Date: 2013-11-08 16:08:55
Author: ramey
Date: 2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)
New Revision: 86588
URL: http://svn.boost.org/trac/boost/changeset/86588
Log:
fix up of issues created removal of support for older compilers
Text files modified: 
   trunk/boost/archive/basic_binary_iarchive.hpp       |     4 ++++                                    
   trunk/boost/archive/basic_binary_oarchive.hpp       |     4 ++++                                    
   trunk/boost/archive/basic_text_iarchive.hpp         |     4 ++++                                    
   trunk/boost/archive/basic_text_oarchive.hpp         |     4 ++++                                    
   trunk/boost/archive/basic_xml_iarchive.hpp          |     6 +++++-                                  
   trunk/boost/archive/basic_xml_oarchive.hpp          |     4 ++++                                    
   trunk/boost/archive/binary_iarchive_impl.hpp        |     4 ++++                                    
   trunk/boost/archive/binary_oarchive_impl.hpp        |     4 ++++                                    
   trunk/boost/archive/text_iarchive.hpp               |     4 ++++                                    
   trunk/boost/archive/text_oarchive.hpp               |     4 ++++                                    
   trunk/boost/archive/text_wiarchive.hpp              |     4 ++++                                    
   trunk/boost/archive/text_woarchive.hpp              |     4 ++++                                    
   trunk/boost/archive/xml_iarchive.hpp                |     4 ++++                                    
   trunk/boost/archive/xml_oarchive.hpp                |     4 ++++                                    
   trunk/boost/archive/xml_wiarchive.hpp               |     4 ++++                                    
   trunk/boost/serialization/collections_load_imp.hpp  |     4 ++++                                    
   trunk/boost/serialization/detail/shared_ptr_132.hpp |     4 ++++                                    
   trunk/boost/serialization/shared_ptr.hpp            |    14 ++++++++++++++                          
   18 files changed, 83 insertions(+), 1 deletions(-)
Modified: trunk/boost/archive/basic_binary_iarchive.hpp
==============================================================================
--- trunk/boost/archive/basic_binary_iarchive.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/basic_binary_iarchive.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -44,6 +44,10 @@
 namespace boost { 
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_iarchive;
+} // namespace detail
+
 /////////////////////////////////////////////////////////////////////////
 // class basic_binary_iarchive - read serialized objects from a input binary stream
 template<class Archive>
Modified: trunk/boost/archive/basic_binary_oarchive.hpp
==============================================================================
--- trunk/boost/archive/basic_binary_oarchive.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/basic_binary_oarchive.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -46,6 +46,10 @@
 namespace boost {
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_oarchive;
+} // namespace detail
+
 //////////////////////////////////////////////////////////////////////
 // class basic_binary_oarchive - write serialized objects to a binary output stream
 // note: this archive has no pretensions to portability.  Archive format
Modified: trunk/boost/archive/basic_text_iarchive.hpp
==============================================================================
--- trunk/boost/archive/basic_text_iarchive.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/basic_text_iarchive.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -40,6 +40,10 @@
 namespace boost {
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_iarchive;
+} // namespace detail
+
 /////////////////////////////////////////////////////////////////////////
 // class basic_text_iarchive - read serialized objects from a input text stream
 template<class Archive>
Modified: trunk/boost/archive/basic_text_oarchive.hpp
==============================================================================
--- trunk/boost/archive/basic_text_oarchive.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/basic_text_oarchive.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -42,6 +42,10 @@
 namespace boost {
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_oarchive;
+} // namespace detail
+
 /////////////////////////////////////////////////////////////////////////
 // class basic_text_oarchive 
 template<class Archive>
Modified: trunk/boost/archive/basic_xml_iarchive.hpp
==============================================================================
--- trunk/boost/archive/basic_xml_iarchive.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/basic_xml_iarchive.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -37,6 +37,10 @@
 namespace boost {
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_iarchive;
+} // namespace detail
+
 /////////////////////////////////////////////////////////////////////////
 // class xml_iarchive - read serialized objects from a input text stream
 template<class Archive>
@@ -44,7 +48,7 @@
     public detail::common_iarchive<Archive>
 {
 protected:
-    friend class detail::interface_oarchive<Archive>;
+    friend class detail::interface_iarchive<Archive>;
     unsigned int depth;
     BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
     load_start(const char *name);
Modified: trunk/boost/archive/basic_xml_oarchive.hpp
==============================================================================
--- trunk/boost/archive/basic_xml_oarchive.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/basic_xml_oarchive.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -36,6 +36,10 @@
 namespace boost {
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_oarchive;
+} // namespace detail
+
 //////////////////////////////////////////////////////////////////////
 // class basic_xml_oarchive - write serialized objects to a xml output stream
 template<class Archive>
Modified: trunk/boost/archive/binary_iarchive_impl.hpp
==============================================================================
--- trunk/boost/archive/binary_iarchive_impl.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/binary_iarchive_impl.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -29,6 +29,10 @@
 namespace boost { 
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_iarchive;
+} // namespace detail
+
 template<class Archive, class Elem, class Tr>
 class binary_iarchive_impl : 
     public basic_binary_iprimitive<Archive, Elem, Tr>,
Modified: trunk/boost/archive/binary_oarchive_impl.hpp
==============================================================================
--- trunk/boost/archive/binary_oarchive_impl.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/binary_oarchive_impl.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -30,6 +30,10 @@
 namespace boost { 
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_oarchive;
+} // namespace detail
+
 template<class Archive, class Elem, class Tr>
 class binary_oarchive_impl : 
     public basic_binary_oprimitive<Archive, Elem, Tr>,
Modified: trunk/boost/archive/text_iarchive.hpp
==============================================================================
--- trunk/boost/archive/text_iarchive.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/text_iarchive.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -35,6 +35,10 @@
 namespace boost { 
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_iarchive;
+} // namespace detail
+
 template<class Archive>
 class text_iarchive_impl : 
     public basic_text_iprimitive<std::istream>,
Modified: trunk/boost/archive/text_oarchive.hpp
==============================================================================
--- trunk/boost/archive/text_oarchive.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/text_oarchive.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -42,6 +42,10 @@
 namespace boost { 
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_oarchive;
+} // namespace detail
+
 template<class Archive>
 class text_oarchive_impl : 
      /* protected ? */ public basic_text_oprimitive<std::ostream>,
Modified: trunk/boost/archive/text_wiarchive.hpp
==============================================================================
--- trunk/boost/archive/text_wiarchive.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/text_wiarchive.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -39,6 +39,10 @@
 namespace boost { 
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_iarchive;
+} // namespace detail
+
 template<class Archive>
 class text_wiarchive_impl : 
     public basic_text_iprimitive<std::wistream>,
Modified: trunk/boost/archive/text_woarchive.hpp
==============================================================================
--- trunk/boost/archive/text_woarchive.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/text_woarchive.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -47,6 +47,10 @@
 namespace boost { 
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_oarchive;
+} // namespace detail
+
 template<class Archive>
 class text_woarchive_impl : 
     public basic_text_oprimitive<std::wostream>,
Modified: trunk/boost/archive/xml_iarchive.hpp
==============================================================================
--- trunk/boost/archive/xml_iarchive.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/xml_iarchive.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -35,6 +35,10 @@
 namespace boost { 
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_iarchive;
+} // namespace detail
+
 template<class CharType>
 class basic_xml_grammar;
 typedef basic_xml_grammar<char> xml_grammar;
Modified: trunk/boost/archive/xml_oarchive.hpp
==============================================================================
--- trunk/boost/archive/xml_oarchive.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/xml_oarchive.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -42,6 +42,10 @@
 namespace boost {
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_oarchive;
+} // namespace detail
+
 template<class Archive>
 class xml_oarchive_impl : 
     public basic_text_oprimitive<std::ostream>,
Modified: trunk/boost/archive/xml_wiarchive.hpp
==============================================================================
--- trunk/boost/archive/xml_wiarchive.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/archive/xml_wiarchive.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -40,6 +40,10 @@
 namespace boost { 
 namespace archive {
 
+namespace detail {
+    template<class Archive> class interface_iarchive;
+} // namespace detail
+
 template<class CharType>
 class basic_xml_grammar;
 typedef basic_xml_grammar<wchar_t> xml_wgrammar;
Modified: trunk/boost/serialization/collections_load_imp.hpp
==============================================================================
--- trunk/boost/serialization/collections_load_imp.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/serialization/collections_load_imp.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -6,6 +6,10 @@
 # pragma once
 #endif
 
+#if defined(_MSC_VER) && (_MSC_VER <= 1020)
+#  pragma warning (disable : 4786) // too long name, harmless warning
+#endif
+
 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
 // collections_load_imp.hpp: serialization for loading stl collections
 
Modified: trunk/boost/serialization/detail/shared_ptr_132.hpp
==============================================================================
--- trunk/boost/serialization/detail/shared_ptr_132.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/serialization/detail/shared_ptr_132.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -208,6 +208,8 @@
 
 #endif
 
+#if !defined(BOOST_MSVC) || (BOOST_MSVC > 1200)
+
     template<class Y>
     shared_ptr & operator=(shared_ptr<Y> const & r) // never throws
     {
@@ -216,6 +218,8 @@
         return *this;
     }
 
+#endif
+
 #ifndef BOOST_NO_AUTO_PTR
 
     template<class Y>
Modified: trunk/boost/serialization/shared_ptr.hpp
==============================================================================
--- trunk/boost/serialization/shared_ptr.hpp	Fri Nov  8 15:23:22 2013	(r86587)
+++ trunk/boost/serialization/shared_ptr.hpp	2013-11-08 16:08:55 EST (Fri, 08 Nov 2013)	(r86588)
@@ -35,6 +35,7 @@
 // version 1 to distinguish from boost 1.32 version. Note: we can only do this
 // for a template when the compiler supports partial template specialization
 
+#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
     namespace boost {
     namespace serialization{
         template<class T>
@@ -68,6 +69,19 @@
         };
     }}
     #define BOOST_SERIALIZATION_SHARED_PTR(T)
+#else
+    // define macro to let users of these compilers do this
+    #define BOOST_SERIALIZATION_SHARED_PTR(T)                         \
+    BOOST_CLASS_VERSION(                                              \
+        ::boost::shared_ptr< T >,                                     \
+        1                                                             \
+    )                                                                 \
+    BOOST_CLASS_TRACKING(                                             \
+        ::boost::shared_ptr< T >,                                     \
+        ::boost::serialization::track_never                           \
+    )                                                                 \
+    /**/
+#endif
 
 namespace boost {
 namespace serialization{