|
Boost-Commit : |
From: ramey_at_[hidden]
Date: 2007-11-01 16:24:04
Author: ramey
Date: 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
New Revision: 40659
URL: http://svn.boost.org/trac/boost/changeset/40659
Log:
passing all msvc and gcc tests
except gcc(release) test_no_rtti and test_shared_ptr132
Text files modified:
branches/serialization_next_release/boost/boost/archive/basic_binary_oprimitive.hpp | 3 -
branches/serialization_next_release/boost/boost/archive/basic_text_oprimitive.hpp | 3 -
branches/serialization_next_release/boost/boost/archive/detail/archive_pointer_iserializer.hpp | 3 -
branches/serialization_next_release/boost/boost/archive/detail/archive_pointer_oserializer.hpp | 3 -
branches/serialization_next_release/boost/boost/archive/detail/auto_link_archive.hpp | 33 ++++++++++---------
branches/serialization_next_release/boost/boost/archive/detail/interface_iarchive.hpp | 6 +--
branches/serialization_next_release/boost/boost/archive/detail/interface_oarchive.hpp | 4 +-
branches/serialization_next_release/boost/boost/archive/detail/iserializer.hpp | 59 ++++++++++-------------------------
branches/serialization_next_release/boost/boost/archive/detail/oserializer.hpp | 66 ++++++++++-----------------------------
branches/serialization_next_release/boost/boost/archive/detail/polymorphic_iarchive_route.hpp | 6 +-
branches/serialization_next_release/boost/boost/archive/detail/polymorphic_oarchive_route.hpp | 6 +-
branches/serialization_next_release/boost/boost/archive/impl/archive_pointer_iserializer.ipp | 4 +-
branches/serialization_next_release/boost/boost/archive/impl/archive_pointer_oserializer.ipp | 5 ++
branches/serialization_next_release/boost/boost/archive/shared_ptr_helper.hpp | 10 ++---
14 files changed, 75 insertions(+), 136 deletions(-)
Modified: branches/serialization_next_release/boost/boost/archive/basic_binary_oprimitive.hpp
==============================================================================
--- branches/serialization_next_release/boost/boost/archive/basic_binary_oprimitive.hpp (original)
+++ branches/serialization_next_release/boost/boost/archive/basic_binary_oprimitive.hpp 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
@@ -88,8 +88,7 @@
// trap usage of invalid uninitialized boolean which would
// otherwise crash on load.
void save(const bool t){
- int i = t;
- assert(0 == i || 1 == i);
+ assert(0 == static_cast<int>(t) || 1 == static_cast<int>(t));
save_binary(& t, sizeof(t));
}
BOOST_ARCHIVE_OR_WARCHIVE_DECL(void)
Modified: branches/serialization_next_release/boost/boost/archive/basic_text_oprimitive.hpp
==============================================================================
--- branches/serialization_next_release/boost/boost/archive/basic_text_oprimitive.hpp (original)
+++ branches/serialization_next_release/boost/boost/archive/basic_text_oprimitive.hpp 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
@@ -92,8 +92,7 @@
void save(const bool t){
// trap usage of invalid uninitialized boolean which would
// otherwise crash on load.
- int i = t;
- assert(0 == i || 1 == i);
+ assert(0 == static_cast<int>(t) || 1 == static_cast<int>(t));
if(os.fail())
boost::throw_exception(archive_exception(archive_exception::stream_error));
os << t;
Modified: branches/serialization_next_release/boost/boost/archive/detail/archive_pointer_iserializer.hpp
==============================================================================
--- branches/serialization_next_release/boost/boost/archive/detail/archive_pointer_iserializer.hpp (original)
+++ branches/serialization_next_release/boost/boost/archive/detail/archive_pointer_iserializer.hpp 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
@@ -76,8 +76,7 @@
// type_info. returns NULL if there is no such instance. This
// would indicate that the no object of the specified type was loaded
// any where in the code.
- static
- BOOST_ARCHIVE_OR_WARCHIVE_DECL(const basic_pointer_iserializer *)
+ static BOOST_ARCHIVE_OR_WARCHIVE_DECL(const basic_pointer_iserializer *)
find(
const boost::serialization::extended_type_info & eti
);
Modified: branches/serialization_next_release/boost/boost/archive/detail/archive_pointer_oserializer.hpp
==============================================================================
--- branches/serialization_next_release/boost/boost/archive/detail/archive_pointer_oserializer.hpp (original)
+++ branches/serialization_next_release/boost/boost/archive/detail/archive_pointer_oserializer.hpp 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
@@ -51,8 +51,7 @@
// type_info. returns NULL, if there is no such instance. This
// would indicate that the no object of the specified type was saved
// any where in the code.
- static
- BOOST_ARCHIVE_OR_WARCHIVE_DECL(const basic_pointer_oserializer *)
+ static BOOST_ARCHIVE_OR_WARCHIVE_DECL(const basic_pointer_oserializer *)
find(
const boost::serialization::extended_type_info & eti
);
Modified: branches/serialization_next_release/boost/boost/archive/detail/auto_link_archive.hpp
==============================================================================
--- branches/serialization_next_release/boost/boost/archive/detail/auto_link_archive.hpp (original)
+++ branches/serialization_next_release/boost/boost/archive/detail/auto_link_archive.hpp 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
@@ -25,23 +25,24 @@
#include <boost/archive/detail/decl.hpp>
-#if !defined(BOOST_ARCHIVE_SOURCE) \
-&& !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SERIALIZATION_NO_LIB)
+#if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_SERIALIZATION_NO_LIB) \
+&& !defined(BOOST_ARCHIVE_SOURCE) && !defined(BOOST_WARCHIVE_SOURCE) \
+&& !defined(BOOST_SERIALIZATION_SOURCE)
-// Set the name of our library, this will get undef'ed by auto_link.hpp
-// once it's done with it:
-//
-#define BOOST_LIB_NAME boost_serialization
-//
-// If we're importing code from a dll, then tell auto_link.hpp about it:
-//
-#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
-# define BOOST_DYN_LINK
-#endif
-//
-// And include the header that does the work:
-//
-#include <boost/config/auto_link.hpp>
+ // Set the name of our library, this will get undef'ed by auto_link.hpp
+ // once it's done with it:
+ //
+ #define BOOST_LIB_NAME boost_serialization
+ //
+ // If we're importing code from a dll, then tell auto_link.hpp about it:
+ //
+ #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)
+ # define BOOST_DYN_LINK
+ #endif
+ //
+ // And include the header that does the work:
+ //
+ #include <boost/config/auto_link.hpp>
#endif // auto-linking disabled
#endif // ARCHIVE_DETAIL_AUTO_LINK_ARCHIVE_HPP
Modified: branches/serialization_next_release/boost/boost/archive/detail/interface_iarchive.hpp
==============================================================================
--- branches/serialization_next_release/boost/boost/archive/detail/interface_iarchive.hpp (original)
+++ branches/serialization_next_release/boost/boost/archive/detail/interface_iarchive.hpp 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
@@ -23,8 +23,6 @@
#include <boost/serialization/singleton.hpp>
#include <boost/archive/detail/abi_prefix.hpp> // must be the last header
-#include <boost/serialization/singleton.hpp>
-
namespace boost {
namespace archive {
namespace detail {
@@ -48,9 +46,9 @@
}
template<class T>
- const /* BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) */ basic_pointer_iserializer *
+ const basic_pointer_iserializer *
register_type(T * = NULL){
- const /* BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) */ basic_pointer_iserializer & bpis =
+ const basic_pointer_iserializer & bpis =
boost::serialization::singleton<
pointer_iserializer<Archive, T>
>::get_const_instance();
Modified: branches/serialization_next_release/boost/boost/archive/detail/interface_oarchive.hpp
==============================================================================
--- branches/serialization_next_release/boost/boost/archive/detail/interface_oarchive.hpp (original)
+++ branches/serialization_next_release/boost/boost/archive/detail/interface_oarchive.hpp 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
@@ -48,9 +48,9 @@
}
template<class T>
- const /* BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) */ basic_pointer_oserializer *
+ const basic_pointer_oserializer *
register_type(const T * = NULL){
- const /* BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) */ basic_pointer_oserializer & bpos =
+ const basic_pointer_oserializer & bpos =
boost::serialization::singleton<
pointer_oserializer<Archive, T>
>::get_const_instance();
Modified: branches/serialization_next_release/boost/boost/archive/detail/iserializer.hpp
==============================================================================
--- branches/serialization_next_release/boost/boost/archive/detail/iserializer.hpp (original)
+++ branches/serialization_next_release/boost/boost/archive/detail/iserializer.hpp 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
@@ -46,6 +46,7 @@
#include <boost/type_traits/remove_const.hpp>
#include <boost/type_traits/remove_all_extents.hpp>
#include <boost/serialization/is_abstract.hpp>
+#include <boost/type_traits/is_polymorphic.hpp>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/if.hpp>
@@ -68,7 +69,6 @@
#include <boost/archive/detail/basic_iserializer.hpp>
#include <boost/archive/detail/archive_pointer_iserializer.hpp>
-#include <boost/serialization/force_include.hpp>
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/version.hpp>
#include <boost/serialization/level.hpp>
@@ -112,16 +112,15 @@
public:
explicit iserializer() :
basic_iserializer(
- boost::serialization::singleton<
- boost::serialization::type_info_implementation<T>::type
- >::get_const_instance()
+ boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance()
)
{}
- virtual BOOST_DLLEXPORT void load_object_data(
+ virtual void load_object_data(
basic_iarchive & ar,
void *x,
const unsigned int file_version
- ) const BOOST_USED ;
+ ) const;
virtual bool class_info() const {
return boost::serialization::implementation_level<T>::value
>= boost::serialization::object_class_info;
@@ -145,7 +144,7 @@
};
template<class Archive, class T>
-BOOST_DLLEXPORT void iserializer<Archive, T>::load_object_data(
+void iserializer<Archive, T>::load_object_data(
basic_iarchive & ar,
void *x,
const unsigned int file_version
@@ -168,28 +167,13 @@
return boost::serialization::singleton<iserializer<Archive, T> >
::get_const_instance();
}
- virtual BOOST_DLLEXPORT void load_object_ptr(
+ virtual void load_object_ptr(
basic_iarchive & ar,
void * & x,
const unsigned int file_version
- ) const BOOST_USED;
-#if defined(__GNUC__) || ( defined(BOOST_MSVC) && (_MSC_VER <= 1300) )
-public:
-#endif
+ ) const ;
public:
- // private constructor to inhibit any existence other than the
- // static one. Note GCC doesn't permit constructor to be private
- BOOST_DLLEXPORT pointer_iserializer() BOOST_USED;
- //friend class serialization::singleton<pointer_iserializer<Archive,T> >;
- // at least one compiler (CW) seems to require that serialize_adl
- // be explicitly instantiated. Still under investigation.
-#if 0
- #if !defined(__BORLANDC__)
- void (* const m)(Archive &, T &, const unsigned);
- boost::serialization::extended_type_info * (* e)();
- #endif
-#endif
-// BOOST_DLLEXPORT static const pointer_iserializer & get_instance() BOOST_USED;
+ pointer_iserializer();
};
// note trick to be sure that operator new is using class specific
@@ -263,7 +247,7 @@
};
template<class Archive, class T>
-BOOST_DLLEXPORT void pointer_iserializer<Archive, T>::load_object_ptr(
+void pointer_iserializer<Archive, T>::load_object_ptr(
basic_iarchive & ar,
void * & x,
const unsigned int file_version
@@ -302,19 +286,11 @@
}
template<class Archive, class T>
-BOOST_DLLEXPORT pointer_iserializer<Archive, T>::pointer_iserializer() :
+pointer_iserializer<Archive, T>::pointer_iserializer() :
archive_pointer_iserializer<Archive>(
- boost::serialization::singleton<
- boost::serialization::type_info_implementation<T>::type
- >::get_const_instance()
+ boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance()
)
-#if 0
-#if !defined(__BORLANDC__)
- ,
- m(boost::serialization::serialize_adl<Archive, T>),
- e(boost::serialization::type_info_implementation<T>::type::get_instance)
-#endif
-#endif
{
boost::serialization::singleton<iserializer<Archive, T> >
::get_mutable_instance().set_bpis(this);
@@ -454,9 +430,8 @@
return static_cast<T *>(
boost::serialization::void_upcast(
eti,
- boost::serialization::singleton<
- boost::serialization::type_info_implementation<T>::type
- >::get_const_instance(),
+ boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance(),
t
)
);
@@ -543,7 +518,7 @@
// for loading const objects - but I see no alternative
template<class Archive, class T>
inline void load(Archive &ar, const T & t){
- load(ar, const_cast<T &>(t));
+ load(ar, const_cast<T &>(t));
}
#endif
@@ -551,7 +526,7 @@
#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
template<class Archive, class T>
inline void load_wrapper(Archive &ar, const T&t, mpl::true_){
- boost::archive::load(ar, const_cast<T&>(t));
+ boost::archive::load(ar, const_cast<T&>(t));
}
#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560))
Modified: branches/serialization_next_release/boost/boost/archive/detail/oserializer.hpp
==============================================================================
--- branches/serialization_next_release/boost/boost/archive/detail/oserializer.hpp (original)
+++ branches/serialization_next_release/boost/boost/archive/detail/oserializer.hpp 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
@@ -60,7 +60,6 @@
#include <boost/archive/detail/basic_oserializer.hpp>
#include <boost/archive/detail/archive_pointer_oserializer.hpp>
-#include <boost/serialization/force_include.hpp>
#include <boost/serialization/serialization.hpp>
#include <boost/serialization/version.hpp>
#include <boost/serialization/level.hpp>
@@ -106,17 +105,16 @@
// private constructor to inhibit any existence other than the
// static one
public:
- explicit BOOST_DLLEXPORT oserializer() :
+ explicit oserializer() :
basic_oserializer(
- boost::serialization::singleton<
- boost::serialization::type_info_implementation<T>::type
- >::get_const_instance()
+ boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance()
)
{}
- virtual BOOST_DLLEXPORT void save_object_data(
+ virtual void save_object_data(
basic_oarchive & ar,
const void *x
- ) const BOOST_USED ;
+ ) const ;
virtual bool class_info() const {
return boost::serialization::implementation_level<T>::value
>= boost::serialization::object_class_info;
@@ -138,7 +136,7 @@
};
template<class Archive, class T>
-BOOST_DLLEXPORT void oserializer<Archive, T>::save_object_data(
+void oserializer<Archive, T>::save_object_data(
basic_oarchive & ar,
const void *x
) const {
@@ -160,31 +158,16 @@
return boost::serialization::singleton<oserializer<Archive, T> >
::get_const_instance();
}
- virtual BOOST_DLLEXPORT void save_object_ptr(
+ virtual void save_object_ptr(
basic_oarchive & ar,
const void * x
- ) const BOOST_USED ;
-//#if defined(__GNUC__) || ( defined(BOOST_MSVC) && (_MSC_VER <= 1300) )
-//public:
-//#endif
- // private constructor to inhibit any existence other than the
- // static one. Note GCC doesn't permit constructor to be private
+ ) const ;
public:
- explicit BOOST_DLLEXPORT pointer_oserializer() BOOST_USED;
-// friend class serialization::singleton<pointer_oserializer<Archive,T> >;
-#if 0
- #if !defined(__BORLANDC__)
- // at least one compiler (CW) seems to require that serialize_adl
- // be explicitly instantiated. Still under investigation.
- void (* const m)(Archive &, T &, const unsigned);
- boost::serialization::extended_type_info * (* e)();
-#endif
- #endif
-// BOOST_DLLEXPORT static const pointer_oserializer & get_instance() BOOST_USED;
+ explicit pointer_oserializer();
};
template<class Archive, class T>
-BOOST_DLLEXPORT void pointer_oserializer<Archive, T>::save_object_ptr(
+void pointer_oserializer<Archive, T>::save_object_ptr(
basic_oarchive & ar,
const void * x
) const {
@@ -203,22 +186,11 @@
}
template<class Archive, class T>
-BOOST_DLLEXPORT pointer_oserializer<Archive, T>::pointer_oserializer() :
+pointer_oserializer<Archive, T>::pointer_oserializer() :
archive_pointer_oserializer<Archive>(
- boost::serialization::singleton<
- boost::serialization::type_info_implementation<T>::type
- >::get_const_instance()
- )
-#if 0
-#if !defined(__BORLANDC__)
- ,
- m(boost::serialization::serialize_adl<Archive, T>),
- e(boost::serialization::singleton<
boost::serialization::type_info_implementation<T>::type
- >::get_instance
+ ::get_const_instance()
)
-#endif
-#endif
{
// make sure appropriate member function is instantiated
boost::serialization::singleton<oserializer<Archive, T> >
@@ -373,17 +345,15 @@
const basic_pointer_oserializer * bpos_ptr
){
const boost::serialization::extended_type_info * this_type
- = & boost::serialization::singleton<
- boost::serialization::type_info_implementation<T>::type
- >::get_const_instance();
+ = & boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance();
// retrieve the true type of the object pointed to
// if this assertion fails its an error in this library
assert(NULL != this_type);
const boost::serialization::extended_type_info * true_type
- = boost::serialization::singleton<
- boost::serialization::type_info_implementation<T>::type
- >::get_const_instance().get_derived_extended_type_info(t);
+ = boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance().get_derived_extended_type_info(t);
// note:if this exception is thrown, be sure that derived pointer
// is either registered or exported.
if(NULL == true_type){
@@ -410,9 +380,7 @@
// since true_type is valid, and this only gets made if the
// pointer oserializer object has been created, this should never
// fail
- bpos_ptr = boost::serialization::singleton<
- pointer_oserializer<Archive, T>
- >::get_const_instance().find(* true_type);
+ bpos_ptr = archive_pointer_oserializer<Archive>::find(* true_type);
assert(NULL != bpos_ptr);
if(NULL == bpos_ptr)
boost::throw_exception(
Modified: branches/serialization_next_release/boost/boost/archive/detail/polymorphic_iarchive_route.hpp
==============================================================================
--- branches/serialization_next_release/boost/boost/archive/detail/polymorphic_iarchive_route.hpp (original)
+++ branches/serialization_next_release/boost/boost/archive/detail/polymorphic_iarchive_route.hpp 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
@@ -7,7 +7,7 @@
#endif
/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_iarchive_forward.hpp
+// polymorphic_iarchive_route.hpp
// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
// Use, modification and distribution is subject to the Boost Software
@@ -43,7 +43,7 @@
class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer;
template<class ArchiveImplementation>
-class polymorphic_iarchive_forward :
+class polymorphic_iarchive_route :
public polymorphic_iarchive,
// note: gcc dynamic cross cast fails if the the derivation below is
// not public. I think this is a mistake.
@@ -178,7 +178,7 @@
// all current archives take a stream as constructor argument
template <class _Elem, class _Tr>
- polymorphic_iarchive_forward(
+ polymorphic_iarchive_route(
std::basic_istream<_Elem, _Tr> & is,
unsigned int flags = 0
) :
Modified: branches/serialization_next_release/boost/boost/archive/detail/polymorphic_oarchive_route.hpp
==============================================================================
--- branches/serialization_next_release/boost/boost/archive/detail/polymorphic_oarchive_route.hpp (original)
+++ branches/serialization_next_release/boost/boost/archive/detail/polymorphic_oarchive_route.hpp 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
@@ -7,7 +7,7 @@
#endif
/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
-// polymorphic_oarchive_forward.hpp
+// polymorphic_oarchive_route.hpp
// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
// Use, modification and distribution is subject to the Boost Software
@@ -43,7 +43,7 @@
class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer;
template<class ArchiveImplementation>
-class polymorphic_oarchive_forward :
+class polymorphic_oarchive_route :
public polymorphic_oarchive,
// note: gcc dynamic cross cast fails if the the derivation below is
// not public. I think this is a mistake.
@@ -166,7 +166,7 @@
}
// all current archives take a stream as constructor argument
template <class _Elem, class _Tr>
- polymorphic_oarchive_forward(
+ polymorphic_oarchive_route(
std::basic_ostream<_Elem, _Tr> & os,
unsigned int flags = 0
) :
Modified: branches/serialization_next_release/boost/boost/archive/impl/archive_pointer_iserializer.ipp
==============================================================================
--- branches/serialization_next_release/boost/boost/archive/impl/archive_pointer_iserializer.ipp (original)
+++ branches/serialization_next_release/boost/boost/archive/impl/archive_pointer_iserializer.ipp 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
@@ -35,7 +35,7 @@
) :
basic_pointer_iserializer(eti)
{
- std::pair<serializer_map<Archive>::iterator, bool> result;
+ std::pair<BOOST_DEDUCED_TYPENAME serializer_map<Archive>::iterator, bool> result;
result = serialization::singleton<serializer_map<Archive> >
::get_mutable_instance().insert(this);
assert(result.second);
@@ -47,7 +47,7 @@
const boost::serialization::extended_type_info & eti
){
const basic_serializer_arg bs(eti);
- serializer_map<Archive>::const_iterator it;
+ BOOST_DEDUCED_TYPENAME serializer_map<Archive>::const_iterator it;
it = boost::serialization::singleton<serializer_map<Archive> >
::get_const_instance().find(& bs);
assert(
Modified: branches/serialization_next_release/boost/boost/archive/impl/archive_pointer_oserializer.ipp
==============================================================================
--- branches/serialization_next_release/boost/boost/archive/impl/archive_pointer_oserializer.ipp (original)
+++ branches/serialization_next_release/boost/boost/archive/impl/archive_pointer_oserializer.ipp 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
@@ -34,7 +34,10 @@
) :
basic_pointer_oserializer(eti)
{
- std::pair<serializer_map<Archive>::iterator, bool> result;
+ std::pair<
+ BOOST_DEDUCED_TYPENAME serializer_map<Archive>::iterator,
+ bool
+ > result;
result = serialization::singleton<serializer_map<Archive> >
::get_mutable_instance().insert(this);
assert(result.second);
Modified: branches/serialization_next_release/boost/boost/archive/shared_ptr_helper.hpp
==============================================================================
--- branches/serialization_next_release/boost/boost/archive/shared_ptr_helper.hpp (original)
+++ branches/serialization_next_release/boost/boost/archive/shared_ptr_helper.hpp 2007-11-01 16:24:02 EDT (Thu, 01 Nov 2007)
@@ -87,9 +87,8 @@
template<class T>
void * object_identifier(T * t) const {
const boost::serialization::extended_type_info * true_type
- = boost::serialization::singleton<
- boost::serialization::type_info_implementation<T>::type
- >::get_const_instance().get_derived_extended_type_info(*t);
+ = boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance().get_derived_extended_type_info(*t);
// note:if this exception is thrown, be sure that derived pointer
// is either registered or exported.
if(NULL == true_type)
@@ -99,9 +98,8 @@
)
);
const boost::serialization::extended_type_info * this_type
- = & boost::serialization::singleton<
- boost::serialization::type_info_implementation<T>::type
- >::get_const_instance();
+ = & boost::serialization::type_info_implementation<T>::type
+ ::get_const_instance();
void * vp = void_downcast(*true_type, *this_type, t);
return vp;
}
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