#include <boost/serialization/extended_type_info_no_rtti.hpp>
#include <boost/serialization/export.hpp>
-#define POLYMORPHIC_BASE_EXPORT
#include "polymorphic_base.hpp"
-
-#define POLYMORPHIC_DERIVED2_EXPORT
#include "polymorphic_derived2.hpp"
-// instantiate code for text archives
-#include <boost/archive/text_oarchive.hpp>
-#include <boost/archive/text_iarchive.hpp>
-
-template
-void polymorphic_derived2::serialize(
- boost::archive::text_oarchive & ar,
- const unsigned int version
-);
-template
-void polymorphic_derived2::serialize(
- boost::archive::text_iarchive & ar,
- const unsigned int version
-);
+template<class Archive>
+POLYMORPHIC_DERIVED2_DLL_DECL void polymorphic_derived2::serialize(
+ Archive &ar,
+ const unsigned int /* file_version */
+){
+ ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(polymorphic_base);
+}
+
+const char * polymorphic_derived2::get_key() const {
+ return "polymorphic_derived2";
+}
+POLYMORPHIC_DERIVED2_DLL_DECL
+polymorphic_derived2::polymorphic_derived2(){}
+POLYMORPHIC_DERIVED2_DLL_DECL
+polymorphic_derived2::~polymorphic_derived2(){}
-// instantiate code for polymorphic archives
-#include <boost/archive/polymorphic_iarchive.hpp>
#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
template
-void polymorphic_derived2::serialize(
- boost::archive::polymorphic_oarchive & ar,
- const unsigned int version
+POLYMORPHIC_DERIVED2_DLL_DECL void polymorphic_derived2::serialize(
+ boost::archive::polymorphic_oarchive &,
+ const unsigned int /* file_version */
);
template
-void polymorphic_derived2::serialize(
- boost::archive::polymorphic_iarchive & ar,
- const unsigned int version
+POLYMORPHIC_DERIVED2_DLL_DECL void polymorphic_derived2::serialize(
+ boost::archive::polymorphic_iarchive &,
+ const unsigned int
);
// MWerks users can do this to make their code work
// note: export has to be AFTER #includes for all archive classes
BOOST_CLASS_EXPORT_IMPLEMENT(polymorphic_derived2)
-
-#if 0
-#include <boost/serialization/factory.hpp>
-BOOST_SERIALIZATION_FACTORY_0(polymorphic_derived2)
-
-template
-POLYMORPHIC_DERIVED2_DLL_DECL
-void polymorphic_derived2 *
-boost::serialization::factory<polymorphic_derived2, 0>(std::va_list ap);
-#endif