Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r54984 - trunk/boost/archive/detail
From: ramey_at_[hidden]
Date: 2009-07-16 17:17:16


Author: ramey
Date: 2009-07-16 17:17:15 EDT (Thu, 16 Jul 2009)
New Revision: 54984
URL: http://svn.boost.org/trac/boost/changeset/54984

Log:
Fix test dll exported
Text files modified:
   trunk/boost/archive/detail/archive_serializer_map.hpp | 17 +++++++++++++----
   trunk/boost/archive/detail/basic_serializer_map.hpp | 12 ++++++------
   trunk/boost/archive/detail/common_iarchive.hpp | 4 +---
   trunk/boost/archive/detail/iserializer.hpp | 12 ++----------
   trunk/boost/archive/detail/oserializer.hpp | 12 ++----------
   5 files changed, 24 insertions(+), 33 deletions(-)

Modified: trunk/boost/archive/detail/archive_serializer_map.hpp
==============================================================================
--- trunk/boost/archive/detail/archive_serializer_map.hpp (original)
+++ trunk/boost/archive/detail/archive_serializer_map.hpp 2009-07-16 17:17:15 EDT (Thu, 16 Jul 2009)
@@ -21,7 +21,8 @@
 // basic_serializer_map so we can have a one map / archive type.
 
 #include <boost/config.hpp>
-#include <boost/archive/detail/basic_serializer_map.hpp>
+#include <boost/archive/detail/auto_link_archive.hpp>
+#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
 namespace boost {
 
@@ -35,12 +36,20 @@
 class basic_serializer;
 
 template<class Archive>
-class archive_serializer_map :
- public basic_serializer_map
-{};
+class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) archive_serializer_map
+{
+public:
+ static bool insert(const basic_serializer * bs);
+ static void erase(const basic_serializer * bs);
+ static const basic_serializer * find(
+ const boost::serialization::extended_type_info & type_
+ );
+};
 
 } // namespace detail
 } // namespace archive
 } // namespace boost
 
+#include <boost/archive/detail/abi_suffix.hpp> // must be the last header
+
 #endif //BOOST_ARCHIVE_SERIALIZER_MAP_HPP

Modified: trunk/boost/archive/detail/basic_serializer_map.hpp
==============================================================================
--- trunk/boost/archive/detail/basic_serializer_map.hpp (original)
+++ trunk/boost/archive/detail/basic_serializer_map.hpp 2009-07-16 17:17:15 EDT (Thu, 16 Jul 2009)
@@ -19,11 +19,11 @@
 #include <set>
 
 #include <boost/config.hpp>
-#include <boost/utility.hpp>
 #include <boost/archive/detail/auto_link_archive.hpp>
-
 #include <boost/archive/detail/abi_prefix.hpp> // must be the last header
 
+#include <boost/utility.hpp>
+
 namespace boost {
 namespace serialization {
     class extended_type_info;
@@ -32,9 +32,9 @@
 namespace archive {
 namespace detail {
 
-class /*BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY())*/ basic_serializer;
+class basic_serializer;
 
-class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_serializer_map : public
+class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_serializer_map : public
     boost::noncopyable
 {
     struct type_info_pointer_compare
@@ -47,10 +47,10 @@
     map_type m_map;
 public:
     bool insert(const basic_serializer * bs);
+ void erase(const basic_serializer * bs);
     const basic_serializer * find(
         const boost::serialization::extended_type_info & type_
     ) const;
- void erase(basic_serializer * bs);
 private:
     // cw 8.3 requires this
     basic_serializer_map& operator=(basic_serializer_map const&);
@@ -60,6 +60,6 @@
 } // namespace archive
 } // namespace boost
 
-#include <boost/archive/detail/abi_suffix.hpp> // pops abi_suffix.hpp pragmas
+#include <boost/archive/detail/abi_suffix.hpp> // must be the last header
 
 #endif // BOOST_SERIALIZER_MAP_HPP

Modified: trunk/boost/archive/detail/common_iarchive.hpp
==============================================================================
--- trunk/boost/archive/detail/common_iarchive.hpp (original)
+++ trunk/boost/archive/detail/common_iarchive.hpp 2009-07-16 17:17:15 EDT (Thu, 16 Jul 2009)
@@ -73,9 +73,7 @@
     virtual const basic_pointer_iserializer *
     find(const boost::serialization::extended_type_info & eti) const {
             return static_cast<const basic_pointer_iserializer *>(
- boost::serialization::singleton<
- archive_serializer_map<Archive>
- >::get_const_instance().find(eti)
+ archive_serializer_map<Archive>::find(eti)
         );
     }
 };

Modified: trunk/boost/archive/detail/iserializer.hpp
==============================================================================
--- trunk/boost/archive/detail/iserializer.hpp (original)
+++ trunk/boost/archive/detail/iserializer.hpp 2009-07-16 17:17:15 EDT (Thu, 16 Jul 2009)
@@ -315,20 +315,12 @@
     boost::serialization::singleton<
         iserializer<Archive, T>
>::get_mutable_instance().set_bpis(this);
- boost::serialization::singleton<
- archive_serializer_map<Archive>
- >::get_mutable_instance().insert(this);
+ archive_serializer_map<Archive>::insert(this);
 }
 
 template<class Archive, class T>
 pointer_iserializer<Archive, T>::~pointer_iserializer(){
- if(boost::serialization::singleton<
- archive_serializer_map<Archive>
- >::is_destroyed())
- return;
- boost::serialization::singleton<
- archive_serializer_map<Archive>
- >::get_mutable_instance().erase(this);
+ archive_serializer_map<Archive>::erase(this);
 }
 
 template<class Archive, class T>

Modified: trunk/boost/archive/detail/oserializer.hpp
==============================================================================
--- trunk/boost/archive/detail/oserializer.hpp (original)
+++ trunk/boost/archive/detail/oserializer.hpp 2009-07-16 17:17:15 EDT (Thu, 16 Jul 2009)
@@ -195,20 +195,12 @@
     boost::serialization::singleton<
         oserializer<Archive, T>
>::get_mutable_instance().set_bpos(this);
- boost::serialization::singleton<
- archive_serializer_map<Archive>
- >::get_mutable_instance().insert(this);
+ archive_serializer_map<Archive>::insert(this);
 }
 
 template<class Archive, class T>
 pointer_oserializer<Archive, T>::~pointer_oserializer(){
- if(boost::serialization::singleton<
- archive_serializer_map<Archive>
- >::is_destroyed())
- return;
- boost::serialization::singleton<
- archive_serializer_map<Archive>
- >::get_mutable_instance().erase(this);
+ archive_serializer_map<Archive>::erase(this);
 }
 
 template<class Archive, class T>


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