Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r59941 - branches/release/boost/serialization
From: ramey_at_[hidden]
Date: 2010-02-26 00:17:34


Author: ramey
Date: 2010-02-26 00:17:31 EST (Fri, 26 Feb 2010)
New Revision: 59941
URL: http://svn.boost.org/trac/boost/changeset/59941

Log:
move recent changes to release branch
Properties modified:
   branches/release/boost/serialization/ (props changed)
Text files modified:
   branches/release/boost/serialization/export.hpp | 5 +++++
   branches/release/boost/serialization/extended_type_info_no_rtti.hpp | 11 ++++++-----
   branches/release/boost/serialization/extended_type_info_typeid.hpp | 10 +++++-----
   branches/release/boost/serialization/factory.hpp | 10 +++++++++-
   branches/release/boost/serialization/shared_ptr.hpp | 1 -
   branches/release/boost/serialization/throw_exception.hpp | 2 +-
   6 files changed, 26 insertions(+), 13 deletions(-)

Modified: branches/release/boost/serialization/export.hpp
==============================================================================
--- branches/release/boost/serialization/export.hpp (original)
+++ branches/release/boost/serialization/export.hpp 2010-02-26 00:17:31 EST (Fri, 26 Feb 2010)
@@ -34,6 +34,7 @@
 #include <boost/mpl/not.hpp>
 #include <boost/mpl/bool.hpp>
 
+#include <boost/serialization/export.hpp> // for guid_defined only
 #include <boost/serialization/static_warning.hpp>
 #include <boost/serialization/assume_abstract.hpp>
 #include <boost/serialization/force_include.hpp>
@@ -115,6 +116,10 @@
     );
 }
 
+// Note INTENTIONAL usage of anonymous namespace in header.
+// This was made this way so that export.hpp could be included
+// in other headers. This is still under study.
+
 namespace {
 
 template<class T>

Modified: branches/release/boost/serialization/extended_type_info_no_rtti.hpp
==============================================================================
--- branches/release/boost/serialization/extended_type_info_no_rtti.hpp (original)
+++ branches/release/boost/serialization/extended_type_info_no_rtti.hpp 2010-02-26 00:17:31 EST (Fri, 26 Feb 2010)
@@ -24,6 +24,7 @@
 
 #include <boost/mpl/if.hpp>
 #include <boost/type_traits/is_polymorphic.hpp>
+#include <boost/type_traits/remove_const.hpp>
 
 #include <boost/serialization/static_warning.hpp>
 #include <boost/serialization/singleton.hpp>
@@ -128,15 +129,15 @@
         va_start(ap, count);
         switch(count){
         case 0:
- return factory<T, 0>(ap);
+ return factory<BOOST_DEDUCED_TYPENAME boost::remove_const<T>::type, 0>(ap);
         case 1:
- return factory<T, 1>(ap);
+ return factory<BOOST_DEDUCED_TYPENAME boost::remove_const<T>::type, 1>(ap);
         case 2:
- return factory<T, 2>(ap);
+ return factory<BOOST_DEDUCED_TYPENAME boost::remove_const<T>::type, 2>(ap);
         case 3:
- return factory<T, 3>(ap);
+ return factory<BOOST_DEDUCED_TYPENAME boost::remove_const<T>::type, 3>(ap);
         case 4:
- return factory<T, 4>(ap);
+ return factory<BOOST_DEDUCED_TYPENAME boost::remove_const<T>::type, 4>(ap);
         default:
             assert(false); // too many arguments
             // throw exception here?

Modified: branches/release/boost/serialization/extended_type_info_typeid.hpp
==============================================================================
--- branches/release/boost/serialization/extended_type_info_typeid.hpp (original)
+++ branches/release/boost/serialization/extended_type_info_typeid.hpp 2010-02-26 00:17:31 EST (Fri, 26 Feb 2010)
@@ -113,15 +113,15 @@
         va_start(ap, count);
         switch(count){
         case 0:
- return factory<boost::remove_const<T>, 0>(ap);
+ return factory<BOOST_DEDUCED_TYPENAME boost::remove_const<T>::type, 0>(ap);
         case 1:
- return factory<boost::remove_const<T>, 1>(ap);
+ return factory<BOOST_DEDUCED_TYPENAME boost::remove_const<T>::type, 1>(ap);
         case 2:
- return factory<boost::remove_const<T>, 2>(ap);
+ return factory<BOOST_DEDUCED_TYPENAME boost::remove_const<T>::type, 2>(ap);
         case 3:
- return factory<boost::remove_const<T>, 3>(ap);
+ return factory<BOOST_DEDUCED_TYPENAME boost::remove_const<T>::type, 3>(ap);
         case 4:
- return factory<boost::remove_const<T>, 4>(ap);
+ return factory<BOOST_DEDUCED_TYPENAME boost::remove_const<T>::type, 4>(ap);
         default:
             assert(false); // too many arguments
             // throw exception here?

Modified: branches/release/boost/serialization/factory.hpp
==============================================================================
--- branches/release/boost/serialization/factory.hpp (original)
+++ branches/release/boost/serialization/factory.hpp 2010-02-26 00:17:31 EST (Fri, 26 Feb 2010)
@@ -88,6 +88,14 @@
     BOOST_SERIALIZATION_FACTORY(1, T, A0, 0, 0, 0)
 
 #define BOOST_SERIALIZATION_FACTORY_0(T) \
- BOOST_SERIALIZATION_FACTORY(0, T, 0, 0, 0, 0)
+namespace boost { \
+namespace serialization { \
+ template<> \
+ T * factory<T, 0>(std::va_list){ \
+ return new T(); \
+ } \
+} \
+} \
+/**/
 
 #endif // BOOST_SERIALIZATION_FACTORY_HPP

Modified: branches/release/boost/serialization/shared_ptr.hpp
==============================================================================
--- branches/release/boost/serialization/shared_ptr.hpp (original)
+++ branches/release/boost/serialization/shared_ptr.hpp 2010-02-26 00:17:31 EST (Fri, 26 Feb 2010)
@@ -16,7 +16,6 @@
 
 // See http://www.boost.org for updates, documentation, and revision history.
 
-#include <map>
 #include <cstddef> // NULL
 
 #include <boost/config.hpp>

Modified: branches/release/boost/serialization/throw_exception.hpp
==============================================================================
--- branches/release/boost/serialization/throw_exception.hpp (original)
+++ branches/release/boost/serialization/throw_exception.hpp 2010-02-26 00:17:31 EST (Fri, 26 Feb 2010)
@@ -26,7 +26,7 @@
 
 #ifdef BOOST_NO_EXCEPTIONS
 
-void inline throw_exception(std::exception const & e) {
+inline void throw_exception(std::exception const & e) {
     ::boost::throw_exception(e);
 }
 


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