From 19fcec84d8d7d21e796c7624e521b60d28ee21ed Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 20:45:59 +0200 Subject: Adding upstream version 16.2.11+ds. Signed-off-by: Daniel Baumann --- .../libs/serialization/test/polymorphic_base.hpp | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/boost/libs/serialization/test/polymorphic_base.hpp (limited to 'src/boost/libs/serialization/test/polymorphic_base.hpp') diff --git a/src/boost/libs/serialization/test/polymorphic_base.hpp b/src/boost/libs/serialization/test/polymorphic_base.hpp new file mode 100644 index 000000000..f2f3a2fd4 --- /dev/null +++ b/src/boost/libs/serialization/test/polymorphic_base.hpp @@ -0,0 +1,66 @@ +#ifndef POLYMORPHIC_BASE_HPP +#define POLYMORPHIC_BASE_HPP + +// MS compatible compilers support #pragma once +#if defined(_MSC_VER) +# pragma once +#endif + +/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 +// polymorphic_base.hpp simple class test + +// (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) + +// See http://www.boost.org for updates, documentation, and revision history. + +#include + +#include +#include +#include +#include +#include + +#if defined(POLYMORPHIC_BASE_IMPORT) + #define POLYMORPHIC_BASE_DLL_DECL BOOST_SYMBOL_IMPORT + #pragma message ("polymorphic_base imported") +#elif defined(POLYMORPHIC_BASE_EXPORT) + #define POLYMORPHIC_BASE_DLL_DECL BOOST_SYMBOL_EXPORT + #pragma message ("polymorphic_base exported") +#endif + +#ifndef POLYMORPHIC_BASE_DLL_DECL + #define POLYMORPHIC_BASE_DLL_DECL +#endif + +class BOOST_SYMBOL_VISIBLE polymorphic_base +{ + friend class boost::serialization::access; + template + POLYMORPHIC_BASE_DLL_DECL void serialize( + Archive & /* ar */, + const unsigned int /* file_version */ + ); +public: + // note that since this class uses the "no_rtti" + // extended_type_info implementation, it MUST + // implement this function + virtual const char * get_key() const = 0; + POLYMORPHIC_BASE_DLL_DECL polymorphic_base(); + POLYMORPHIC_BASE_DLL_DECL virtual ~polymorphic_base(); +}; + +BOOST_SERIALIZATION_ASSUME_ABSTRACT(polymorphic_base) + +// the no_rtti system requires this !!! +BOOST_CLASS_EXPORT_KEY(polymorphic_base) + +BOOST_CLASS_TYPE_INFO( + polymorphic_base, + extended_type_info_no_rtti +) + +#endif // POLYMORPHIC_BASE_HPP -- cgit v1.2.3