|
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