summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/serialization/test/dll_base.cpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/boost/libs/serialization/test/dll_base.cpp
parentInitial commit. (diff)
downloadceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.tar.xz
ceph-19fcec84d8d7d21e796c7624e521b60d28ee21ed.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/libs/serialization/test/dll_base.cpp')
-rw-r--r--src/boost/libs/serialization/test/dll_base.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/boost/libs/serialization/test/dll_base.cpp b/src/boost/libs/serialization/test/dll_base.cpp
new file mode 100644
index 000000000..dec8759af
--- /dev/null
+++ b/src/boost/libs/serialization/test/dll_base.cpp
@@ -0,0 +1,55 @@
+/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
+// dll_base.cpp
+
+// (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
+// Use, modification and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// Build a dll which contains the serialization for a class A
+// used in testing distribution of serialization code in DLLS
+#include <boost/serialization/export.hpp>
+
+#define BASE_EXPORT
+#include "base.hpp"
+
+template<class Archive>
+void base::serialize(
+ Archive &ar,
+ const unsigned int /* file_version */){
+}
+
+// for some reason this is required at least by MSVC
+// given that its declared virtual .. = 0; This
+// seems wrong to me but here it is.
+//polymorphic_base::~polymorphic_base(){}
+
+// instantiate code for text archives
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/archive/text_iarchive.hpp>
+
+// instantiate code for polymorphic archives
+#include <boost/archive/polymorphic_oarchive.hpp>
+#include <boost/archive/polymorphic_iarchive.hpp>
+
+// note: BOOST_CLASS_EXPORT cannot be used to instantiate
+// serialization code for an abstract base class. So use
+// explicit instantiation in this case.
+//BOOST_CLASS_EXPORT(polymorphic_base)
+
+template BOOST_SYMBOL_EXPORT void base::serialize(
+ boost::archive::text_oarchive & ar,
+ const unsigned int version
+);
+template BOOST_SYMBOL_EXPORT void base::serialize(
+ boost::archive::text_iarchive & ar,
+ const unsigned int version
+);
+template BOOST_SYMBOL_EXPORT void base::serialize(
+ boost::archive::polymorphic_oarchive & ar,
+ const unsigned int version
+);
+template BOOST_SYMBOL_EXPORT void base::serialize(
+ boost::archive::polymorphic_iarchive & ar,
+ const unsigned int version
+);