]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/serialization/test/polymorphic_derived2.cpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / libs / serialization / test / polymorphic_derived2.cpp
index 528d0f5d5a19ef85c517bd2ae51396a44d6ea528..20ee780b0859cf05e462ec8c07b45968b0f0ccff 100644 (file)
 #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
@@ -53,13 +50,3 @@ BOOST_SERIALIZATION_MWERKS_BASE_AND_DERIVED(polymorphic_base, polymorphic_derive
 
 // 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