Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r50604 - trunk/boost/serialization
From: ramey_at_[hidden]
Date: 2009-01-15 02:16:45


Author: ramey
Date: 2009-01-15 02:16:43 EST (Thu, 15 Jan 2009)
New Revision: 50604
URL: http://svn.boost.org/trac/boost/changeset/50604

Log:
fixed instantiation of exports for gcc compilers
Text files modified:
   trunk/boost/serialization/export.hpp | 27 +++++++++++++++++----------
   1 files changed, 17 insertions(+), 10 deletions(-)

Modified: trunk/boost/serialization/export.hpp
==============================================================================
--- trunk/boost/serialization/export.hpp (original)
+++ trunk/boost/serialization/export.hpp 2009-01-15 02:16:43 EST (Thu, 15 Jan 2009)
@@ -147,21 +147,28 @@
 };
 
 template<typename T>
-class init_guid {
- static ::boost::archive::detail::guid_initializer<T> const
- & guid_initializer;
-};
+struct init_guid;
 
 } // namespace detail
 } // namespace archive
 } // namespace boost
 
-#define BOOST_CLASS_EXPORT_GUID(T, K) \
- ::boost::archive::detail::guid_initializer< T > const & \
- ::boost::archive::detail::init_guid<T>::guid_initializer = \
- ::boost::serialization::singleton< \
- ::boost::archive::detail::guid_initializer< T > \
- >::get_mutable_instance().export_guid(K); \
+#define BOOST_CLASS_EXPORT_GUID(T, K) \
+ namespace boost { \
+ namespace archive { \
+ namespace detail { \
+ template<> \
+ struct init_guid< T > { \
+ static ::boost::archive::detail::guid_initializer< T > const \
+ & guid_initializer; \
+ }; \
+ }}} \
+ ::boost::archive::detail::guid_initializer< T > const & \
+ ::boost::archive::detail::init_guid< T >::guid_initializer = \
+ ::boost::serialization::singleton< \
+ ::boost::archive::detail::guid_initializer< T > \
+ >::get_mutable_instance().export_guid(K); \
+/**/
 
 #if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3205))
 


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