From baf12b1fcb9f7c5e8c34eca7c0086b0f5f8c9fd9 Mon Sep 17 00:00:00 2001 From: John Wellbelove Date: Mon, 17 Feb 2025 10:42:25 +0000 Subject: [PATCH] Changed etl::message_packet to not require virtual messages --- .gitignore | 1 + include/etl/message_packet.h | 378 +++++++++++++++++++++++++++++++- include/etl/message_router.h | 38 +--- test/test_message_packet.cpp | 4 - test/vs2022/etl.sln | 6 + test/vs2022/etl.vcxproj | 403 +++++++++++++++++++++++++++++++++++ 6 files changed, 783 insertions(+), 47 deletions(-) diff --git a/.gitignore b/.gitignore index 39c683f1..54c9275f 100644 --- a/.gitignore +++ b/.gitignore @@ -396,3 +396,4 @@ test/etl_error_handler/assert_function/build-make test/syntax_check/bgcc test/syntax_check/bclang test/vs2022/Debug Clang C++20 +test/vs2022/Debug MSVC C++20 - Forve C++03 - No virtual messages diff --git a/include/etl/message_packet.h b/include/etl/message_packet.h index 35650a6b..b8993607 100644 --- a/include/etl/message_packet.h +++ b/include/etl/message_packet.h @@ -53,8 +53,6 @@ SOFTWARE. #include "platform.h" -#if ETL_HAS_VIRTUAL_MESSAGES - #include "message.h" #include "error_handler.h" #include "static_assert.h" @@ -286,11 +284,39 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" +#if !ETL_HAS_VIRTUAL_MESSAGES + //******************************************** + void delete_message(etl::imessage* pmsg) + { + (delete_message_type(pmsg) || ...); + } + + //******************************************** + template + bool delete_message_type(etl::imessage* pmsg) + { + if (TType::ID == pmsg->get_message_id()) + { + TType* p = static_cast(pmsg); + p->~TType(); + return true; + } + else + { + return false; + } + } +#endif + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -584,11 +610,40 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + case T3::ID: static_cast(pmsg)->~T3(); break; + case T4::ID: static_cast(pmsg)->~T4(); break; + case T5::ID: static_cast(pmsg)->~T5(); break; + case T6::ID: static_cast(pmsg)->~T6(); break; + case T7::ID: static_cast(pmsg)->~T7(); break; + case T8::ID: static_cast(pmsg)->~T8(); break; + case T9::ID: static_cast(pmsg)->~T9(); break; + case T10::ID: static_cast(pmsg)->~T10(); break; + case T11::ID: static_cast(pmsg)->~T11(); break; + case T12::ID: static_cast(pmsg)->~T12(); break; + case T13::ID: static_cast(pmsg)->~T13(); break; + case T14::ID: static_cast(pmsg)->~T14(); break; + case T15::ID: static_cast(pmsg)->~T15(); break; + case T16::ID: static_cast(pmsg)->~T16(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -879,11 +934,39 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + case T3::ID: static_cast(pmsg)->~T3(); break; + case T4::ID: static_cast(pmsg)->~T4(); break; + case T5::ID: static_cast(pmsg)->~T5(); break; + case T6::ID: static_cast(pmsg)->~T6(); break; + case T7::ID: static_cast(pmsg)->~T7(); break; + case T8::ID: static_cast(pmsg)->~T8(); break; + case T9::ID: static_cast(pmsg)->~T9(); break; + case T10::ID: static_cast(pmsg)->~T10(); break; + case T11::ID: static_cast(pmsg)->~T11(); break; + case T12::ID: static_cast(pmsg)->~T12(); break; + case T13::ID: static_cast(pmsg)->~T13(); break; + case T14::ID: static_cast(pmsg)->~T14(); break; + case T15::ID: static_cast(pmsg)->~T15(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -1172,11 +1255,38 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + case T3::ID: static_cast(pmsg)->~T3(); break; + case T4::ID: static_cast(pmsg)->~T4(); break; + case T5::ID: static_cast(pmsg)->~T5(); break; + case T6::ID: static_cast(pmsg)->~T6(); break; + case T7::ID: static_cast(pmsg)->~T7(); break; + case T8::ID: static_cast(pmsg)->~T8(); break; + case T9::ID: static_cast(pmsg)->~T9(); break; + case T10::ID: static_cast(pmsg)->~T10(); break; + case T11::ID: static_cast(pmsg)->~T11(); break; + case T12::ID: static_cast(pmsg)->~T12(); break; + case T13::ID: static_cast(pmsg)->~T13(); break; + case T14::ID: static_cast(pmsg)->~T14(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -1463,11 +1573,37 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + case T3::ID: static_cast(pmsg)->~T3(); break; + case T4::ID: static_cast(pmsg)->~T4(); break; + case T5::ID: static_cast(pmsg)->~T5(); break; + case T6::ID: static_cast(pmsg)->~T6(); break; + case T7::ID: static_cast(pmsg)->~T7(); break; + case T8::ID: static_cast(pmsg)->~T8(); break; + case T9::ID: static_cast(pmsg)->~T9(); break; + case T10::ID: static_cast(pmsg)->~T10(); break; + case T11::ID: static_cast(pmsg)->~T11(); break; + case T12::ID: static_cast(pmsg)->~T12(); break; + case T13::ID: static_cast(pmsg)->~T13(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -1748,11 +1884,36 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + case T3::ID: static_cast(pmsg)->~T3(); break; + case T4::ID: static_cast(pmsg)->~T4(); break; + case T5::ID: static_cast(pmsg)->~T5(); break; + case T6::ID: static_cast(pmsg)->~T6(); break; + case T7::ID: static_cast(pmsg)->~T7(); break; + case T8::ID: static_cast(pmsg)->~T8(); break; + case T9::ID: static_cast(pmsg)->~T9(); break; + case T10::ID: static_cast(pmsg)->~T10(); break; + case T11::ID: static_cast(pmsg)->~T11(); break; + case T12::ID: static_cast(pmsg)->~T12(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -2031,11 +2192,35 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + case T3::ID: static_cast(pmsg)->~T3(); break; + case T4::ID: static_cast(pmsg)->~T4(); break; + case T5::ID: static_cast(pmsg)->~T5(); break; + case T6::ID: static_cast(pmsg)->~T6(); break; + case T7::ID: static_cast(pmsg)->~T7(); break; + case T8::ID: static_cast(pmsg)->~T8(); break; + case T9::ID: static_cast(pmsg)->~T9(); break; + case T10::ID: static_cast(pmsg)->~T10(); break; + case T11::ID: static_cast(pmsg)->~T11(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -2312,11 +2497,34 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + case T3::ID: static_cast(pmsg)->~T3(); break; + case T4::ID: static_cast(pmsg)->~T4(); break; + case T5::ID: static_cast(pmsg)->~T5(); break; + case T6::ID: static_cast(pmsg)->~T6(); break; + case T7::ID: static_cast(pmsg)->~T7(); break; + case T8::ID: static_cast(pmsg)->~T8(); break; + case T9::ID: static_cast(pmsg)->~T9(); break; + case T10::ID: static_cast(pmsg)->~T10(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -2591,11 +2799,33 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + case T3::ID: static_cast(pmsg)->~T3(); break; + case T4::ID: static_cast(pmsg)->~T4(); break; + case T5::ID: static_cast(pmsg)->~T5(); break; + case T6::ID: static_cast(pmsg)->~T6(); break; + case T7::ID: static_cast(pmsg)->~T7(); break; + case T8::ID: static_cast(pmsg)->~T8(); break; + case T9::ID: static_cast(pmsg)->~T9(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -2864,11 +3094,32 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + case T3::ID: static_cast(pmsg)->~T3(); break; + case T4::ID: static_cast(pmsg)->~T4(); break; + case T5::ID: static_cast(pmsg)->~T5(); break; + case T6::ID: static_cast(pmsg)->~T6(); break; + case T7::ID: static_cast(pmsg)->~T7(); break; + case T8::ID: static_cast(pmsg)->~T8(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -3135,11 +3386,31 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + case T3::ID: static_cast(pmsg)->~T3(); break; + case T4::ID: static_cast(pmsg)->~T4(); break; + case T5::ID: static_cast(pmsg)->~T5(); break; + case T6::ID: static_cast(pmsg)->~T6(); break; + case T7::ID: static_cast(pmsg)->~T7(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -3404,11 +3675,30 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + case T3::ID: static_cast(pmsg)->~T3(); break; + case T4::ID: static_cast(pmsg)->~T4(); break; + case T5::ID: static_cast(pmsg)->~T5(); break; + case T6::ID: static_cast(pmsg)->~T6(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -3671,11 +3961,29 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); + #endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + case T3::ID: static_cast(pmsg)->~T3(); break; + case T4::ID: static_cast(pmsg)->~T4(); break; + case T5::ID: static_cast(pmsg)->~T5(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -3932,11 +4240,28 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + case T3::ID: static_cast(pmsg)->~T3(); break; + case T4::ID: static_cast(pmsg)->~T4(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -4191,11 +4516,27 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + case T3::ID: static_cast(pmsg)->~T3(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -4448,11 +4789,26 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + case T2::ID: static_cast(pmsg)->~T2(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -4703,11 +5059,25 @@ namespace etl { etl::imessage* pmsg = static_cast(data); +#if ETL_HAS_VIRTUAL_MESSAGES pmsg->~imessage(); +#else + delete_message(pmsg); +#endif } } #include "private/diagnostic_pop.h" + //******************************************** + void delete_message(etl::imessage* pmsg) + { + switch (pmsg->get_message_id()) + { + case T1::ID: static_cast(pmsg)->~T1(); break; + default: ETL_ASSERT(false, ETL_ERROR(unhandled_message_exception)); break; + } + } + //******************************************** void add_new_message(const etl::imessage& msg) { @@ -4741,8 +5111,4 @@ namespace etl }; #endif } -#else - #error "etl::message_packet is not compatible with non-virtual etl::imessage" -#endif - #endif diff --git a/include/etl/message_router.h b/include/etl/message_router.h index 3f846ef9..44d2310a 100644 --- a/include/etl/message_router.h +++ b/include/etl/message_router.h @@ -54,9 +54,7 @@ SOFTWARE. #include "platform.h" #include "message.h" #include "shared_message.h" -#if ETL_HAS_VIRTUAL_MESSAGES - #include "message_packet.h" -#endif +#include "message_packet.h" #include "message_types.h" #include "alignment.h" #include "error_handler.h" @@ -412,9 +410,7 @@ namespace etl { public: -#if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; -#endif //********************************************** message_router() @@ -562,9 +558,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -709,9 +703,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -856,9 +848,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -1002,9 +992,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -1146,9 +1134,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -1289,9 +1275,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -1431,9 +1415,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -1572,9 +1554,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -1711,9 +1691,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -1849,9 +1827,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -1985,9 +1961,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -2120,9 +2094,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -2253,9 +2225,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -2385,9 +2355,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -2516,9 +2484,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) @@ -2646,9 +2612,7 @@ namespace etl { public: - #if ETL_HAS_VIRTUAL_MESSAGES typedef etl::message_packet< T1> message_packet; - #endif //********************************************** message_router(etl::message_router_id_t id_) diff --git a/test/test_message_packet.cpp b/test/test_message_packet.cpp index 426c520c..e59228de 100644 --- a/test/test_message_packet.cpp +++ b/test/test_message_packet.cpp @@ -30,8 +30,6 @@ SOFTWARE. #include "etl/platform.h" -#if ETL_HAS_VIRTUAL_MESSAGES - #include "etl/message_packet.h" #include @@ -481,5 +479,3 @@ namespace } }; } - -#endif diff --git a/test/vs2022/etl.sln b/test/vs2022/etl.sln index 3b5f836e..4f341db8 100644 --- a/test/vs2022/etl.sln +++ b/test/vs2022/etl.sln @@ -19,6 +19,8 @@ Global Debug MSVC C++17|x64 = Debug MSVC C++17|x64 Debug MSVC C++20 - Force C++03|Win32 = Debug MSVC C++20 - Force C++03|Win32 Debug MSVC C++20 - Force C++03|x64 = Debug MSVC C++20 - Force C++03|x64 + Debug MSVC C++20 - Forve C++03 - No virtual messages|Win32 = Debug MSVC C++20 - Forve C++03 - No virtual messages|Win32 + Debug MSVC C++20 - Forve C++03 - No virtual messages|x64 = Debug MSVC C++20 - Forve C++03 - No virtual messages|x64 Debug MSVC C++20 - No STL|Win32 = Debug MSVC C++20 - No STL|Win32 Debug MSVC C++20 - No STL|x64 = Debug MSVC C++20 - No STL|x64 Debug MSVC C++20 - No virtual messages|Win32 = Debug MSVC C++20 - No virtual messages|Win32 @@ -57,6 +59,10 @@ Global {C21DF78C-D8E0-46AB-9D6F-D38A3C1CB0FB}.Debug MSVC C++20 - Force C++03|Win32.Build.0 = Debug MSVC C++20 - Force C++03|Win32 {C21DF78C-D8E0-46AB-9D6F-D38A3C1CB0FB}.Debug MSVC C++20 - Force C++03|x64.ActiveCfg = Debug MSVC C++20 - Force C++03|x64 {C21DF78C-D8E0-46AB-9D6F-D38A3C1CB0FB}.Debug MSVC C++20 - Force C++03|x64.Build.0 = Debug MSVC C++20 - Force C++03|x64 + {C21DF78C-D8E0-46AB-9D6F-D38A3C1CB0FB}.Debug MSVC C++20 - Forve C++03 - No virtual messages|Win32.ActiveCfg = Debug MSVC C++20 - Forve C++03 - No virtual messages|Win32 + {C21DF78C-D8E0-46AB-9D6F-D38A3C1CB0FB}.Debug MSVC C++20 - Forve C++03 - No virtual messages|Win32.Build.0 = Debug MSVC C++20 - Forve C++03 - No virtual messages|Win32 + {C21DF78C-D8E0-46AB-9D6F-D38A3C1CB0FB}.Debug MSVC C++20 - Forve C++03 - No virtual messages|x64.ActiveCfg = Debug MSVC C++20 - Forve C++03 - No virtual messages|x64 + {C21DF78C-D8E0-46AB-9D6F-D38A3C1CB0FB}.Debug MSVC C++20 - Forve C++03 - No virtual messages|x64.Build.0 = Debug MSVC C++20 - Forve C++03 - No virtual messages|x64 {C21DF78C-D8E0-46AB-9D6F-D38A3C1CB0FB}.Debug MSVC C++20 - No STL|Win32.ActiveCfg = Debug MSVC C++20 - No STL|Win32 {C21DF78C-D8E0-46AB-9D6F-D38A3C1CB0FB}.Debug MSVC C++20 - No STL|Win32.Build.0 = Debug MSVC C++20 - No STL|Win32 {C21DF78C-D8E0-46AB-9D6F-D38A3C1CB0FB}.Debug MSVC C++20 - No STL|x64.ActiveCfg = Debug MSVC C++20 - No STL|x64 diff --git a/test/vs2022/etl.vcxproj b/test/vs2022/etl.vcxproj index 0e43d2bb..dfa03400 100644 --- a/test/vs2022/etl.vcxproj +++ b/test/vs2022/etl.vcxproj @@ -49,6 +49,14 @@ Debug MSVC C++20 - Force C++03 x64 + + Debug MSVC C++20 - Forve C++03 - No virtual messages + Win32 + + + Debug MSVC C++20 - Forve C++03 - No virtual messages + x64 + Debug MSVC C++20 - No STL Win32 @@ -142,6 +150,13 @@ Unicode false + + Application + true + v143 + Unicode + false + Application true @@ -381,6 +396,12 @@ v143 Unicode + + Application + true + v143 + Unicode + Application true @@ -632,6 +653,9 @@ + + + @@ -740,6 +764,9 @@ + + + @@ -875,6 +902,11 @@ true $(Configuration)\ + + true + true + $(Configuration)\ + true true @@ -1057,6 +1089,10 @@ true true + + true + true + true true @@ -1315,6 +1351,32 @@ "$(OutDir)\etl.exe" + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;ETL_FORCE_TEST_CPP03_IMPLEMENTATION;ETL_MESSAGES_ARE_NOT_VIRTUAL;%(PreprocessorDefinitions) + ../../../unittest-cpp/;../../include;../../test + + + true + stdcpp20 + EditAndContinue + /Zc:__cplusplus %(AdditionalOptions) + true + EnableFastChecks + false + + + Console + true + + + "$(OutDir)\etl.exe" + + @@ -2196,6 +2258,27 @@ $(OutDir)\etl.exe + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;_LIB;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../unittest-cpp/UnitTest++/;../../include/etl;../../test + + + false + stdcpp14 + + + Console + true + + + $(OutDir)\etl.exe + + @@ -3366,12 +3449,14 @@ true true true + true true true true true + true true true true @@ -3410,6 +3495,7 @@ true true true + true true true true @@ -3448,6 +3534,7 @@ true true true + true true true true @@ -3486,6 +3573,7 @@ true true true + true true true true @@ -3577,6 +3665,7 @@ true true true + true true @@ -3592,12 +3681,14 @@ true true true + true true true true true + true true true true @@ -3636,6 +3727,7 @@ true true true + true true true true @@ -3674,6 +3766,7 @@ true true true + true true true true @@ -3712,6 +3805,7 @@ true true true + true true true true @@ -3761,6 +3855,7 @@ true true true + true true @@ -3776,6 +3871,7 @@ true true true + true true @@ -3791,6 +3887,7 @@ true true true + true true @@ -3806,6 +3903,7 @@ true true true + true true @@ -3821,6 +3919,7 @@ true true true + true true @@ -3836,6 +3935,7 @@ true true true + true true @@ -3851,6 +3951,7 @@ true true true + true true @@ -3866,6 +3967,7 @@ true true true + true true @@ -3881,6 +3983,7 @@ true true true + true true true true @@ -3894,6 +3997,7 @@ true true true + true true @@ -3909,6 +4013,7 @@ true true true + true true true true @@ -3922,6 +4027,7 @@ true true true + true true @@ -3937,6 +4043,7 @@ true true true + true true @@ -3952,6 +4059,7 @@ true true true + true true @@ -3967,6 +4075,7 @@ true true true + true true @@ -3982,6 +4091,7 @@ true true true + true true @@ -3997,6 +4107,7 @@ true true true + true true @@ -4012,6 +4123,7 @@ true true true + true true @@ -4027,6 +4139,7 @@ true true true + true true true true @@ -4040,6 +4153,7 @@ true true true + true true @@ -4055,6 +4169,7 @@ true true true + true true @@ -4070,6 +4185,7 @@ true true true + true true @@ -4085,6 +4201,7 @@ true true true + true true @@ -4100,6 +4217,7 @@ true true true + true true @@ -4115,6 +4233,7 @@ true true true + true true @@ -4130,6 +4249,7 @@ true true true + true true @@ -4145,6 +4265,7 @@ true true true + true true @@ -4160,6 +4281,7 @@ true true true + true true @@ -4175,6 +4297,7 @@ true true true + true true @@ -4190,6 +4313,7 @@ true true true + true true @@ -4205,6 +4329,7 @@ true true true + true true @@ -4220,6 +4345,7 @@ true true true + true true @@ -4235,6 +4361,7 @@ true true true + true true @@ -4250,6 +4377,7 @@ true true true + true true @@ -4265,6 +4393,7 @@ true true true + true true @@ -4280,6 +4409,7 @@ true true true + true true @@ -4295,6 +4425,7 @@ true true true + true true @@ -4310,6 +4441,7 @@ true true true + true true @@ -4325,6 +4457,7 @@ true true true + true true @@ -4340,6 +4473,7 @@ true true true + true true @@ -4355,6 +4489,7 @@ true true true + true true @@ -4370,6 +4505,7 @@ true true true + true true @@ -4385,6 +4521,7 @@ true true true + true true @@ -4400,6 +4537,7 @@ true true true + true true @@ -4415,6 +4553,7 @@ true true true + true true true true @@ -4428,6 +4567,7 @@ true true true + true true @@ -4443,6 +4583,7 @@ true true true + true true @@ -4458,6 +4599,7 @@ true true true + true true @@ -4473,6 +4615,7 @@ true true true + true true @@ -4488,6 +4631,7 @@ true true true + true true @@ -4503,6 +4647,7 @@ true true true + true true @@ -4518,6 +4663,7 @@ true true true + true true @@ -4533,6 +4679,7 @@ true true true + true true @@ -4548,6 +4695,7 @@ true true true + true true @@ -4563,6 +4711,7 @@ true true true + true true @@ -4578,6 +4727,7 @@ true true true + true true @@ -4593,6 +4743,7 @@ true true true + true true @@ -4608,6 +4759,7 @@ true true true + true true @@ -4623,6 +4775,7 @@ true true true + true true @@ -4638,6 +4791,7 @@ true true true + true true @@ -4653,6 +4807,7 @@ true true true + true true @@ -4668,6 +4823,7 @@ true true true + true true @@ -4683,6 +4839,7 @@ true true true + true true @@ -4698,6 +4855,7 @@ true true true + true true @@ -4713,6 +4871,7 @@ true true true + true true @@ -4728,6 +4887,7 @@ true true true + true true @@ -4743,6 +4903,7 @@ true true true + true true @@ -4758,6 +4919,7 @@ true true true + true true @@ -4773,6 +4935,7 @@ true true true + true true @@ -4788,6 +4951,7 @@ true true true + true true @@ -4803,6 +4967,7 @@ true true true + true true @@ -4818,6 +4983,7 @@ true true true + true true @@ -4833,6 +4999,7 @@ true true true + true true @@ -4848,6 +5015,7 @@ true true true + true true @@ -4863,6 +5031,7 @@ true true true + true true @@ -4878,6 +5047,7 @@ true true true + true true @@ -4893,6 +5063,7 @@ true true true + true true @@ -4908,6 +5079,7 @@ true true true + true true @@ -4923,6 +5095,7 @@ true true true + true true @@ -4938,6 +5111,7 @@ true true true + true true @@ -4953,6 +5127,7 @@ true true true + true true @@ -4968,6 +5143,7 @@ true true true + true true @@ -4983,6 +5159,7 @@ true true true + true true @@ -4998,6 +5175,7 @@ true true true + true true @@ -5013,6 +5191,7 @@ true true true + true true @@ -5028,6 +5207,7 @@ true true true + true true @@ -5043,6 +5223,7 @@ true true true + true true @@ -5058,6 +5239,7 @@ true true true + true true @@ -5073,6 +5255,7 @@ true true true + true true @@ -5088,6 +5271,7 @@ true true true + true true @@ -5103,6 +5287,7 @@ true true true + true true @@ -5118,6 +5303,7 @@ true true true + true true @@ -5133,6 +5319,7 @@ true true true + true true @@ -5148,6 +5335,7 @@ true true true + true true @@ -5163,6 +5351,7 @@ true true true + true true @@ -5178,6 +5367,7 @@ true true true + true true @@ -5193,6 +5383,7 @@ true true true + true true @@ -5208,6 +5399,7 @@ true true true + true true @@ -5223,6 +5415,7 @@ true true true + true true @@ -5238,6 +5431,7 @@ true true true + true true @@ -5253,6 +5447,7 @@ true true true + true true @@ -5268,6 +5463,7 @@ true true true + true true @@ -5283,6 +5479,7 @@ true true true + true true @@ -5298,6 +5495,7 @@ true true true + true true @@ -5313,6 +5511,7 @@ true true true + true true @@ -5328,6 +5527,7 @@ true true true + true true @@ -5343,6 +5543,7 @@ true true true + true true @@ -5358,6 +5559,7 @@ true true true + true true @@ -5373,6 +5575,7 @@ true true true + true true @@ -5388,6 +5591,7 @@ true true true + true true @@ -5403,6 +5607,7 @@ true true true + true true @@ -5418,6 +5623,7 @@ true true true + true true @@ -5433,6 +5639,7 @@ true true true + true true @@ -5448,6 +5655,7 @@ true true true + true true @@ -5463,6 +5671,7 @@ true true true + true true @@ -5478,6 +5687,7 @@ true true true + true true @@ -5493,6 +5703,7 @@ true true true + true true @@ -5508,6 +5719,7 @@ true true true + true true @@ -5523,6 +5735,7 @@ true true true + true true @@ -5538,6 +5751,7 @@ true true true + true true @@ -5553,6 +5767,7 @@ true true true + true true @@ -5568,6 +5783,7 @@ true true true + true true @@ -5583,6 +5799,7 @@ true true true + true true @@ -5598,6 +5815,7 @@ true true true + true true @@ -5613,6 +5831,7 @@ true true true + true true @@ -5628,6 +5847,7 @@ true true true + true true @@ -5643,6 +5863,7 @@ true true true + true true @@ -5658,6 +5879,7 @@ true true true + true true @@ -5673,6 +5895,7 @@ true true true + true true true true @@ -5686,6 +5909,7 @@ true true true + true true @@ -5701,6 +5925,7 @@ true true true + true true @@ -5716,6 +5941,7 @@ true true true + true true @@ -5731,6 +5957,7 @@ true true true + true true @@ -5746,6 +5973,7 @@ true true true + true true @@ -5761,6 +5989,7 @@ true true true + true true @@ -5776,6 +6005,7 @@ true true true + true true @@ -5791,6 +6021,7 @@ true true true + true true @@ -5806,6 +6037,7 @@ true true true + true true @@ -5821,6 +6053,7 @@ true true true + true true @@ -5836,6 +6069,7 @@ true true true + true true @@ -5851,6 +6085,7 @@ true true true + true true @@ -5866,6 +6101,7 @@ true true true + true true @@ -5881,6 +6117,7 @@ true true true + true true @@ -5896,6 +6133,7 @@ true true true + true true @@ -5911,6 +6149,7 @@ true true true + true true @@ -5926,6 +6165,7 @@ true true true + true true @@ -5941,6 +6181,7 @@ true true true + true true @@ -5956,6 +6197,7 @@ true true true + true true @@ -5971,6 +6213,7 @@ true true true + true true @@ -5986,6 +6229,7 @@ true true true + true true @@ -6001,6 +6245,7 @@ true true true + true true @@ -6016,6 +6261,7 @@ true true true + true true @@ -6031,6 +6277,7 @@ true true true + true true @@ -6046,6 +6293,7 @@ true true true + true true @@ -6061,6 +6309,7 @@ true true true + true true @@ -6076,6 +6325,7 @@ true true true + true true @@ -6091,6 +6341,7 @@ true true true + true true @@ -6106,6 +6357,7 @@ true true true + true true @@ -6121,6 +6373,7 @@ true true true + true true @@ -6136,6 +6389,7 @@ true true true + true true @@ -6151,6 +6405,7 @@ true true true + true true @@ -6166,6 +6421,7 @@ true true true + true true @@ -6181,6 +6437,7 @@ true true true + true true @@ -6196,6 +6453,7 @@ true true true + true true @@ -6211,6 +6469,7 @@ true true true + true true @@ -6226,6 +6485,7 @@ true true true + true true @@ -6241,6 +6501,7 @@ true true true + true true @@ -6256,6 +6517,7 @@ true true true + true true @@ -6271,6 +6533,7 @@ true true true + true true @@ -6286,6 +6549,7 @@ true true true + true true @@ -6301,6 +6565,7 @@ true true true + true true @@ -6316,6 +6581,7 @@ true true true + true true @@ -6331,6 +6597,7 @@ true true true + true true @@ -6346,6 +6613,7 @@ true true true + true true @@ -6361,6 +6629,7 @@ true true true + true true @@ -6376,6 +6645,7 @@ true true true + true true @@ -6391,6 +6661,7 @@ true true true + true true @@ -6406,6 +6677,7 @@ true true true + true true @@ -6421,6 +6693,7 @@ true true true + true true @@ -6436,6 +6709,7 @@ true true true + true true @@ -6451,6 +6725,7 @@ true true true + true true @@ -6466,6 +6741,7 @@ true true true + true true @@ -6481,6 +6757,7 @@ true true true + true true @@ -6496,6 +6773,7 @@ true true true + true true @@ -6511,6 +6789,7 @@ true true true + true true @@ -6526,6 +6805,7 @@ true true true + true true @@ -6541,6 +6821,7 @@ true true true + true true @@ -6556,6 +6837,7 @@ true true true + true true @@ -6571,6 +6853,7 @@ true true true + true true @@ -6586,6 +6869,7 @@ true true true + true true @@ -6601,6 +6885,7 @@ true true true + true true @@ -6616,6 +6901,7 @@ true true true + true true @@ -6631,6 +6917,7 @@ true true true + true true @@ -6646,6 +6933,7 @@ true true true + true true @@ -6661,6 +6949,7 @@ true true true + true true @@ -6676,6 +6965,7 @@ true true true + true true @@ -6691,6 +6981,7 @@ true true true + true true @@ -6706,6 +6997,7 @@ true true true + true true @@ -6721,6 +7013,7 @@ true true true + true true @@ -6736,6 +7029,7 @@ true true true + true true @@ -6751,6 +7045,7 @@ true true true + true true @@ -6766,6 +7061,7 @@ true true true + true true @@ -6781,6 +7077,7 @@ true true true + true true @@ -6796,6 +7093,7 @@ true true true + true true @@ -6811,6 +7109,7 @@ true true true + true true @@ -6826,6 +7125,7 @@ true true true + true true @@ -6841,6 +7141,7 @@ true true true + true true @@ -6856,6 +7157,7 @@ true true true + true true @@ -6871,6 +7173,7 @@ true true true + true true @@ -6886,6 +7189,7 @@ true true true + true true @@ -6901,6 +7205,7 @@ true true true + true true @@ -6916,6 +7221,7 @@ true true true + true true @@ -6931,6 +7237,7 @@ true true true + true true @@ -6946,6 +7253,7 @@ true true true + true true @@ -6961,6 +7269,7 @@ true true true + true true @@ -6976,6 +7285,7 @@ true true true + true true @@ -6991,6 +7301,7 @@ true true true + true true @@ -7006,6 +7317,7 @@ true true true + true true @@ -7021,6 +7333,7 @@ true true true + true true @@ -7036,6 +7349,7 @@ true true true + true true true true @@ -7049,6 +7363,7 @@ true true true + true true @@ -7064,6 +7379,7 @@ true true true + true true @@ -7079,6 +7395,7 @@ true true true + true true @@ -7094,6 +7411,7 @@ true true true + true true @@ -7109,6 +7427,7 @@ true true true + true true @@ -7124,6 +7443,7 @@ true true true + true true @@ -7139,6 +7459,7 @@ true true true + true true @@ -7154,6 +7475,7 @@ true true true + true true @@ -7169,6 +7491,7 @@ true true true + true true @@ -7184,6 +7507,7 @@ true true true + true true @@ -7199,6 +7523,7 @@ true true true + true true @@ -7214,6 +7539,7 @@ true true true + true true @@ -7229,6 +7555,7 @@ true true true + true true @@ -7244,6 +7571,7 @@ true true true + true true @@ -7259,6 +7587,7 @@ true true true + true true @@ -7274,6 +7603,7 @@ true true true + true true @@ -7289,6 +7619,7 @@ true true true + true true true true @@ -7302,6 +7633,7 @@ true true true + true true @@ -7317,6 +7649,7 @@ true true true + true true @@ -7332,6 +7665,7 @@ true true true + true true @@ -7347,6 +7681,7 @@ true true true + true true @@ -7362,6 +7697,7 @@ true true true + true true @@ -7377,6 +7713,7 @@ true true true + true true @@ -7392,6 +7729,7 @@ true true true + true true @@ -7407,6 +7745,7 @@ true true true + true true @@ -7422,6 +7761,7 @@ true true true + true true @@ -7437,6 +7777,7 @@ true true true + true true @@ -7452,6 +7793,7 @@ true true true + true true @@ -7467,6 +7809,7 @@ true true true + true true @@ -7482,6 +7825,7 @@ true true true + true true @@ -7497,6 +7841,7 @@ true true true + true true @@ -7512,6 +7857,7 @@ true true true + true true @@ -7527,6 +7873,7 @@ true true true + true true @@ -7542,6 +7889,7 @@ true true true + true true @@ -7557,6 +7905,7 @@ true true true + true true @@ -7572,6 +7921,7 @@ true true true + true true @@ -7587,6 +7937,7 @@ true true true + true true @@ -7602,6 +7953,7 @@ true true true + true true @@ -7617,6 +7969,7 @@ true true true + true true @@ -7632,6 +7985,7 @@ true true true + true true @@ -7647,6 +8001,7 @@ true true true + true true @@ -7662,6 +8017,7 @@ true true true + true true @@ -7677,6 +8033,7 @@ true true true + true true @@ -7692,6 +8049,7 @@ true true true + true true @@ -7707,6 +8065,7 @@ true true true + true true @@ -7722,6 +8081,7 @@ true true true + true true @@ -7737,6 +8097,7 @@ true true true + true true @@ -7752,6 +8113,7 @@ true true true + true true @@ -7767,6 +8129,7 @@ true true true + true true @@ -7782,6 +8145,7 @@ true true true + true true @@ -7797,6 +8161,7 @@ true true true + true true @@ -7812,6 +8177,7 @@ true true true + true true @@ -7827,6 +8193,7 @@ true true true + true true @@ -7842,6 +8209,7 @@ true true true + true true @@ -7857,6 +8225,7 @@ true true true + true true @@ -7872,6 +8241,7 @@ true true true + true true @@ -7887,6 +8257,7 @@ true true true + true true @@ -7902,6 +8273,7 @@ true true true + true true @@ -7917,6 +8289,7 @@ true true true + true true @@ -7932,6 +8305,7 @@ true true true + true true @@ -7947,6 +8321,7 @@ true true true + true true @@ -7962,6 +8337,7 @@ true true true + true true @@ -7977,6 +8353,7 @@ true true true + true true @@ -7992,6 +8369,7 @@ true true true + true @@ -8014,6 +8392,7 @@ false false false + false @@ -8167,6 +8546,7 @@ false false false + false false false false @@ -8207,6 +8587,7 @@ false false false + false false false false @@ -8266,6 +8647,7 @@ false false false + false false false false @@ -8306,6 +8688,7 @@ false false false + false false false false @@ -8360,6 +8743,7 @@ false false false + false false false false @@ -8400,6 +8784,7 @@ false false false + false false false false @@ -8444,6 +8829,7 @@ false false false + false false false false @@ -8484,6 +8870,7 @@ false false false + false false false false @@ -8528,6 +8915,7 @@ false false false + false false false false @@ -8568,6 +8956,7 @@ false false false + false false false false @@ -8612,6 +9001,7 @@ false false false + false false false false @@ -8652,6 +9042,7 @@ false false false + false false false false @@ -8701,6 +9092,7 @@ false false false + false false false false @@ -8741,6 +9133,7 @@ false false false + false false false false @@ -8789,6 +9182,7 @@ false false false + false false false false @@ -8829,6 +9223,7 @@ false false false + false false false false @@ -8885,6 +9280,7 @@ false false false + false false false false @@ -8925,6 +9321,7 @@ false false false + false false false false @@ -9180,12 +9577,14 @@ true true true + true true true true true + true true true true @@ -9224,6 +9623,7 @@ true true true + true true true true @@ -9262,6 +9662,7 @@ true true true + true true true true @@ -9300,6 +9701,7 @@ true true true + true true true true @@ -9353,6 +9755,7 @@ true true true + true