$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r54963 - trunk/boost/serialization
From: ramey_at_[hidden]
Date: 2009-07-15 02:47:03
Author: ramey
Date: 2009-07-15 02:47:03 EDT (Wed, 15 Jul 2009)
New Revision: 54963
URL: http://svn.boost.org/trac/boost/changeset/54963
Log:
Fixing error - pure virtual function call
Text files modified: 
   trunk/boost/serialization/extended_type_info.hpp         |     9 ++++++++-                               
   trunk/boost/serialization/extended_type_info_no_rtti.hpp |     5 -----                                   
   trunk/boost/serialization/extended_type_info_typeid.hpp  |     5 -----                                   
   trunk/boost/serialization/singleton.hpp                  |     3 ---                                     
   4 files changed, 8 insertions(+), 14 deletions(-)
Modified: trunk/boost/serialization/extended_type_info.hpp
==============================================================================
--- trunk/boost/serialization/extended_type_info.hpp	(original)
+++ trunk/boost/serialization/extended_type_info.hpp	2009-07-15 02:47:03 EDT (Wed, 15 Jul 2009)
@@ -24,6 +24,8 @@
 #include <boost/config.hpp>
 #include <boost/noncopyable.hpp>
 #include <boost/serialization/config.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
 
 #include <boost/config/abi_prefix.hpp> // must be the last header
 #ifdef BOOST_MSVC
@@ -39,6 +41,8 @@
     private boost::noncopyable
 {
 private: 
+    boost::shared_ptr<const extended_type_info> m_this;
+
     // used to uniquely identify the type of class derived from this one
     // so that different derivations of this class can be simultaneously
     // included in implementation of sets and maps.
@@ -67,6 +71,10 @@
     bool operator!=(const extended_type_info &rhs) const {
         return !(operator==(rhs));
     }
+    boost::weak_ptr<const extended_type_info>
+    get_weak_ptr() const {
+        return m_this;
+    }
     static const extended_type_info * find(const char *key);
     // for plugins
     virtual void * construct(unsigned int /*count*/ = 0, ...) const {
@@ -76,7 +84,6 @@
     virtual void destroy(void const * const /*p*/) const {
         assert(false); // must be implemented if used
     }
-    virtual bool & get_is_destroyed() const = 0;
 };
 
 } // namespace serialization 
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-07-15 02:47:03 EDT (Wed, 15 Jul 2009)
@@ -62,11 +62,6 @@
     public detail::extended_type_info_no_rtti_0,
     public singleton<extended_type_info_no_rtti<T> >
 {
-    bool & get_is_destroyed() const{
-        return singleton<
-            extended_type_info_no_rtti<T>
-        >::get_is_destroyed();
-    }
 public:
     extended_type_info_no_rtti() :
         detail::extended_type_info_no_rtti_0()
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-07-15 02:47:03 EDT (Wed, 15 Jul 2009)
@@ -70,11 +70,6 @@
     public detail::extended_type_info_typeid_0,
     public singleton<extended_type_info_typeid<T> >
 {
-    virtual bool & get_is_destroyed() const {
-        return singleton<
-            extended_type_info_typeid<T>
-        >::get_is_destroyed();
-    }
 public:
     extended_type_info_typeid() :
         detail::extended_type_info_typeid_0()
Modified: trunk/boost/serialization/singleton.hpp
==============================================================================
--- trunk/boost/serialization/singleton.hpp	(original)
+++ trunk/boost/serialization/singleton.hpp	2009-07-15 02:47:03 EDT (Wed, 15 Jul 2009)
@@ -136,9 +136,6 @@
     BOOST_DLLEXPORT static bool is_destroyed(){
         return detail::singleton_wrapper<T>::m_is_destroyed;
     }
-    BOOST_DLLEXPORT static bool & get_is_destroyed(){
-        return detail::singleton_wrapper<T>::m_is_destroyed;
-    }
 };
 
 template<class T>