Drop C++03 support and Boost.Preprocessor usage (#13)

This commit is contained in:
Antony Polukhin
2023-08-11 21:34:25 +03:00
committed by GitHub
parent 7bde4f36af
commit b9815d397b
18 changed files with 266 additions and 322 deletions

View File

@ -22,7 +22,7 @@ struct A {
};
struct B: public A { BOOST_TYPE_INDEX_REGISTER_CLASS };
struct C: public B { BOOST_TYPE_INDEX_REGISTER_CLASS };
struct D: public C { BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS(BOOST_TYPE_INDEX_NO_BASE_CLASS) };
struct D: public C { BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS() };
void print_real_type(const A& a) {
std::cout << boost::typeindex::type_id_runtime(a).pretty_name() << '\n';

View File

@ -18,27 +18,27 @@
#include <iostream>
struct A {
BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS(BOOST_TYPE_INDEX_NO_BASE_CLASS)
BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS()
virtual ~A()
{}
};
struct B {
BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS(BOOST_TYPE_INDEX_NO_BASE_CLASS)
BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS()
virtual ~B()
{}
};
struct C : A {
BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS((A))
BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS(A)
};
struct D : B {
BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS((B))
BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS(B)
};
struct E : C, D {
BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS((C)(D))
BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS(C, D)
};
int main() {